puts("Enter the message you want to hide and press ^D\n");
buffer = (char*)malloc(1);
msglen = 0;
while(buffer = (char*)realloc(buffer, msglen+1)) {
fread(&buffer[msglen], sizeof(char), 1, stdin);
if(!buffer[msglen]) break;
++msglen;
}
puts("Enter the key that should be used (between 1-255)");
scanf("%[0-9]", temp);
cryptkey=atoi(temp);
if(cryptkey > 255) {
fprintf(stderr, "Hey! i said between 1 and 255 >:|\n");
free(buffer);
fclose(fp);
return 4;
}
crypt(buffer, cryptkey);
fprintf(fp, "%s.%d.%d", buffer, msglen, cryptkey);
break;
case UNKOWN:
fprintf(stderr, "Unkown option \"%s\"\n", argv[1]);
return 0;
}
free(buffer);
fclose(fp);
return 0;
}
Tell me what you think
Name:
Anonymous2007-03-14 8:16 ID:1KLdrByp
use rc4. it's just a little bit more complicated but a lot more secure.
Name:
Anonymous2007-03-14 9:36 ID:IkJ8Jiok
Or just use AES256.
Name:
Anonymous2007-03-14 9:45 ID:Mzg2kEAL
>>3
isn't AES like md5 or DES ? (i mean it can only be bruteforced)
If not, can you please post a tutorial/library for it ?
As for rc4 i found some related articles on google and wikipedia and well it complicates things without them needed to be so complicated
Might want to do some research before you say something retarded. Oops, too late.
Name:
Anonymous2007-03-14 9:54 ID:uSilKFbC
crypt(char *p, int KEY) { ... }
This should have return type void?
*p++=~*p^KEY;
The behavior of this statement is undefined. You are both modifying p and making another read of p that is not used to determine p's new value between the same two sequence points.
If you're picky, there looks to be a bunch of potential problems in the I/O code: fread/scanf buffer overflow, etc.. In the decrypting part, instead of parsing the string yourself directly from the file, you could just read the first line of your file into a buffer and use sscanf.
#include <stdio.h>
#error "* g o a t s e x * g o a t s e x * g o a t s e x *"
#error "g g "
#error "o / \ \ / \ o"
#error "a| | \ | | a"
#error "t| `. | | : t"
#error "s` | | \| | s"
#error "e \ | / / \\\ --__ \\ : e"
#error "x \ \/ _--~~ ~--__| \ | x "
#error "* \ \_-~ ~-_\ | *"
#error "g \_ \ _.--------.______\| | g"
#error "o \ \______// _ ___ _ (_(__> \ | o"
#error "a \ . C ___) ______ (_(____> | / a"
#error "t /\ | C ____)/ \ (_____> |_/ t"
#error "s / /\| C_____) | (___> / \ s"
#error "e | ( _C_____)\______/ // _/ / \ e"
#error "x | \ |__ \\_________// (__/ | x"
#error "* | \ \____) `---- --' | *"
#error "g | \_ ___\ /_ _/ | g"
#error "o | / | | \ | o"
#error "a | | / \ \ | a"
#error "t | / / | | \ |t"
#error "s | / / \__/\___/ | |s"
#error "e | / | | | |e"
#error "x | | | | | |x"
#error "* g o a t s e x * g o a t s e x * g o a t s e x *"
int main() {
return 0;
}
The default value of colspan or even just have a cell span all columns by default.
Name:
Anonymous2009-03-06 5:40
Short miserable life 4 Be reborn as a cockroach and live a short miserable life 5 Be reborn as a maggot and live a short explanation and example of how they may be implemented since words allow factoring at a young age Just like most priviledged.
Name:
Anonymous2009-03-06 13:33
The Tag datatype just that as it sticks to an observer not identity.
Name:
Anonymous2010-08-13 7:26
>>15
LOL YOU ARE MY HERO. THIS IS GOING STRAIGHT TO MY <void.h> >>20
Way to bump a five year old thread, jerk.
Bringing /prog/ back to its people
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy
All work and no play makes Jack a dull boy