03-19-2002
I wonder if you speak about two kinds of 'characters' lets say that an array contains
"ABCD" - those are four characters.
If you treat that as an integer you get the number
1145258561, or 0x44434241 - this is probaby what the original poster meant - _converted_ to characters, a number will take more space.
But any sequence of bytes can be seen as anything, char, float, char*, struct foo*,
So, when a network protocol sends 'characters'- you can make those characters mean anything you want, put two together, and you have a 16 bit short, etc.
But beware of how your machine stores integers!
The bytes above may have looked like
"BADC" on some machines to give the same number!
If I am not mistaken, I think the IBM PC is one of them ...
Look at
man htonl
man htons
Then you will understand why it just sends 'characters'- to make it an 'int'you use one of those functions, that puts the bytes in the right 'network'order, and put them back to local 'machine' order.
I often randomize characters with the % operator.
rand() % 10 gives 0-9
rand() % ('z'-'a') + 'a' is also an interesting contruct
Some fun: Remember that characters, int, floats and all that are really just bits.
If you want char is a certain range, maybe you can just chop off some bits!
0123456701234567
1001010011101011
0000111110000000 <- maybe you just want those
-----------------
0000010010000000
This would make it fast by just using one machine op,
AND byte, 000011111
Last edited by AtleRamsli; 03-19-2002 at 07:27 AM..
10 More Discussions You Might Find Interesting
1. Programming
I am new to the unix/linux environment.
AND........
I need to create a mini shell..that displays prompt (i.e., READY:$), accepts a command from std-in, and prints the command and any parameters passed to it. HELP!!!! (8 Replies)
Discussion started by: jj1814
8 Replies
2. Programming
any suggestions on how i could create a simple chat program between two terminals using pipes? thanks (1 Reply)
Discussion started by: kelogs1347
1 Replies
3. Shell Programming and Scripting
Hi All,
I have problem in the following shell script (problem in 2and3 line i guess)
#!/bin/sh
set value1 = 90;
set value2 = 70;
if ; then
echo "$value1 is normal"
else
echo "$value2 is abnormal"
fi
when executed
output:
$ value_test.sh (Enter)
is abnormal
Neither it's printing... (13 Replies)
Discussion started by: user__user3110
13 Replies
4. Shell Programming and Scripting
Hi, I'm new to UNIX shell programming... can anyone help in doing the following :
1) create a text file named "Model File" having following columns :
Name Number Physics Chemistry
2) prompt user to n rows enter the name, number, physics ,chemistry
3) display the entire columns and rows... (1 Reply)
Discussion started by: Mayuri P R
1 Replies
5. Programming
I don't know if it is right to ask you this. Can someone help me write a simple Xlib program,with button on it,and all that button do is switch 2 messages.
I have tried and tried,but never get past Hello World. Can someone help me please?
---------- Post updated at 10:17 PM ---------- Previous... (2 Replies)
Discussion started by: megane16v
2 Replies
6. UNIX for Dummies Questions & Answers
I start wetting my toes in Linux programming.
I tried the first program myls.c in Advanced Programming in the Unix Environment.
#include <sys/types.h>
#include <dirent.h>
#include "apue.h"
int main(int argc, char *argv)
{
DIR *dp;
struct... (1 Reply)
Discussion started by: cqlouis
1 Replies
7. Shell Programming and Scripting
The circumfrence of a circle is
#!/usr/bin/perl
print 2 * 3.141592654 * 12.50 \n"; # pi= 3.141592654
# r= 12.50
I need a simple program showing me all the steps..to modify the above to prompt for and accept a radius from the person running the... (3 Replies)
Discussion started by: Q2wert
3 Replies
8. Shell Programming and Scripting
Hey all,
Writing a program that searches for a username and if they are online creates a 'beep' and sends the username and date to a log file.
the error i am getting is:
paul.obrien16@aisling:~/os$ bash checklogin
: command not found
Enter username
paul.obrien16
': not a valid... (2 Replies)
Discussion started by: sexyladywall
2 Replies
9. UNIX for Dummies Questions & Answers
i am new to shell scripting!! i am making this program in bourne shell, that asks the user to input "Hello (their name)" or "question (their name)", any other input, "ERROR" will be outputted.
if they input "Hello (name)", i want to out saying Hello (name) but if they input "question (name)", i... (4 Replies)
Discussion started by: bshell_1214
4 Replies
10. Programming
Given the following code inside the function ext3_write_super():
(It's there in Linux kernel 2.6.27.59)
static void ext3_write_super (struct super_block * sb)
{
if (mutex_trylock(&sb->s_lock) != 0)
BUG();
sb->s_dirt = 0;
}
The conditional test at if... (2 Replies)
Discussion started by: Praveen_218
2 Replies
MAKEKEY(8) System Manager's Manual MAKEKEY(8)
NAME
makekey - generate encryption key
SYNOPSIS
/usr/lib/makekey
DESCRIPTION
Makekey improves the usefulness of encryption schemes depending on a key by increasing the amount of time required to search the key space.
It reads 10 bytes from its standard input, and writes 13 bytes on its standard output. The output depends on the input in a way intended
to be difficult to compute (i.e. to require a substantial fraction of a second).
The first eight input bytes (the input key) can be arbitrary ASCII characters. The last two (the salt) are best chosen from the set of
digits, upper- and lower-case letters, and `.' and `/'. The salt characters are repeated as the first two characters of the output. The
remaining 11 output characters are chosen from the same set as the salt and constitute the output key.
The transformation performed is essentially the following: the salt is used to select one of 4096 cryptographic machines all based on the
National Bureau of Standards DES algorithm, but modified in 4096 different ways. Using the input key as key, a constant string is fed into
the machine and recirculated a number of times. The 64 bits that come out are distributed into the 66 useful key bits in the result.
Makekey is intended for programs that perform encryption (e.g. ed and crypt(1)). Usually its input and output will be pipes.
SEE ALSO
crypt(1), ed(1)
MAKEKEY(8)