Hi, this is my first post here and I'm very very new in 'C'
programming.
And I began to 'translate' my PHP program, that beyond a lot of things
generates a md5 hash, and I must generate a md5 hash in 'C' , but I
cant found it anywhere.
I've readed the crypt.h man page, I read twice the post in http://groups.google.com.br/group/co...4b37481e4d0b48
But I still dont know how to generate a md5 hash from my string
'testing' for example.
Plz, if anyone can help me I'd be glad
Thanks 16 10685
dutche wrote: Hi, this is my first post here and I'm very very new in 'C' programming. And I began to 'translate' my PHP program, that beyond a lot of things generates a md5 hash, and I must generate a md5 hash in 'C' , but I cant found it anywhere. I've readed the crypt.h man page, I read twice the post in http://groups.google.com.br/group/co...4b37481e4d0b48
But I still dont know how to generate a md5 hash from my string 'testing' for example.
The RFC that defines MD5 contains a sample C
implementation.
-- Er*********@sun.com
"dutche" writes: Hi, this is my first post here and I'm very very new in 'C' programming. And I began to 'translate' my PHP program, that beyond a lot of things generates a md5 hash, and I must generate a md5 hash in 'C' , but I cant found it anywhere. I've readed the crypt.h man page, I read twice the post in http://groups.google.com.br/group/co...4b37481e4d0b48
But I still dont know how to generate a md5 hash from my string 'testing' for example.
Plz, if anyone can help me I'd be glad
Did you look at this? http://www.faqs.org/rfcs/rfc1321.html
Yes, I've readed the entire RFC, but as I said...I'm very new in 'C'
and I copied the files that is in Appendix.
At this point, everything's fine...but when I try to compile
it...like...I donno how to compile those files togheter.
I tried 'gcc mddriver.c -o mddriver' , and a lot of errors appears to
me :/
I'm posting here cause I tried everything that I can with no results.
Thanks
dutche wrote: Yes, I've readed the entire RFC, but as I said...I'm very new in 'C' and I copied the files that is in Appendix.
At this point, everything's fine...but when I try to compile it...like...I donno how to compile those files togheter.
I tried 'gcc mddriver.c -o mddriver' , and a lot of errors appears to me :/
I'm posting here cause I tried everything that I can with no results.
Thanks
Please, learn how to ask an intelligent, useful question. Then someone
may help you without wasting posts asking for this and that.
With that said, here is the minimal amount of information needed to
help you:
1) Are you using separate source files? Do you have the MD5
implementation in a separate file or did you copy/paste it into
mddriver.c?
2) What are the errors you get from gcc (please copy/paste, don't
summarize)?
3) What are the relevant source files involved in your project?
At this point, I'd suggest, for simplicity's sake, to simply copy/paste
the MD5 code to the TOP of your mddriver.c source file and place your
int main() function at the bottom of the source file.
dutche wrote: Yes, I've readed the entire RFC, but as I said...I'm very new in 'C' and I copied the files that is in Appendix.
Please quote a relevant portion of the previous message for context.
Check CB Falconer messages for instructions.
At this point, everything's fine...but when I try to compile it...like...I donno how to compile those files togheter.
I tried 'gcc mddriver.c -o mddriver' , and a lot of errors appears to me :/
I'm posting here cause I tried everything that I can with no results.
And what are we supposed to do, psychically divine what code you are
trying?
Brian
First, I created these files:
global.h
md5.h
md5c.c
mddriver.c
Ok, I made it exactly as described but when I try to compile I dont got
any results, I think that I'm doing something wrong when compiling.
I've copied the source of the programs directly from the RFC site, and
the command that I used is: 'gcc mddriver.c -o mddriver'
And the errors I got was...
mddriver.c: In function `MDString':
mddriver.c:106: error: `MD_CTX' undeclared (first use in this function)
mddriver.c:106: error: (Each undeclared identifier is reported only
once
mddriver.c:106: error: for each function it appears in.)
mddriver.c:106: error: parse error before "context"
mddriver.c:110: error: `context' undeclared (first use in this
function)
mddriver.c:114: error: `MD5' undeclared (first use in this function)
mddriver.c: In function `MDTimeTrial':
mddriver.c:124: error: `MD_CTX' undeclared (first use in this function)
mddriver.c:124: error: parse error before "context"
mddriver.c:130: error: `MD5' undeclared (first use in this function)
mddriver.c:141: error: `context' undeclared (first use in this
function)
mddriver.c: In function `MDTestSuite':
mddriver.c:162: error: `MD5' undeclared (first use in this function)
mddriver.c: In function `MDFile':
mddriver.c:183: error: `MD_CTX' undeclared (first use in this function)
mddriver.c:183: error: parse error before "context"
mddriver.c:191: error: `context' undeclared (first use in this
function)
mddriver.c:198: error: `MD5' undeclared (first use in this function)
mddriver.c: In function `MDFilter':
mddriver.c:208: error: `MD_CTX' undeclared (first use in this function)
mddriver.c:208: error: parse error before "context"
mddriver.c:212: error: `context' undeclared (first use in this
function)
I'm using a Slackware Linux 10.1 with gcc-3.3.4-i486-1.
Sorry for the few arguments in the last post.
dutche wrote: First, I created these files:
global.h md5.h md5c.c mddriver.c
Ok, I made it exactly as described but when I try to compile I dont got any results, I think that I'm doing something wrong when compiling.
I've copied the source of the programs directly from the RFC site, and the command that I used is: 'gcc mddriver.c -o mddriver'
And the errors I got was...
mddriver.c: In function `MDString': mddriver.c:106: error: `MD_CTX' undeclared (first use in this function) mddriver.c:106: error: (Each undeclared identifier is reported only once mddriver.c:106: error: for each function it appears in.) mddriver.c:106: error: parse error before "context" mddriver.c:110: error: `context' undeclared (first use in this function) mddriver.c:114: error: `MD5' undeclared (first use in this function) mddriver.c: In function `MDTimeTrial': mddriver.c:124: error: `MD_CTX' undeclared (first use in this function) mddriver.c:124: error: parse error before "context" mddriver.c:130: error: `MD5' undeclared (first use in this function) mddriver.c:141: error: `context' undeclared (first use in this function) mddriver.c: In function `MDTestSuite': mddriver.c:162: error: `MD5' undeclared (first use in this function) mddriver.c: In function `MDFile': mddriver.c:183: error: `MD_CTX' undeclared (first use in this function) mddriver.c:183: error: parse error before "context" mddriver.c:191: error: `context' undeclared (first use in this function) mddriver.c:198: error: `MD5' undeclared (first use in this function) mddriver.c: In function `MDFilter': mddriver.c:208: error: `MD_CTX' undeclared (first use in this function) mddriver.c:208: error: parse error before "context" mddriver.c:212: error: `context' undeclared (first use in this function) I'm using a Slackware Linux 10.1 with gcc-3.3.4-i486-1.
Sorry for the few arguments in the last post.
This newsgroup isn't really for helping you learn to compile C code.
Nonetheless, notice you have multiple source files, but only used one
of them in your compile statement. Try something more like:
gcc -c -v -Wall -I. -omd5.o md5.c
gcc -c -v -Wall -I. -omddriver.o mddriver.c
gcc -omddriver mddriver.o md5.o
"dutche" <du****@gmail.com> wrote in message
news:11*********************@g49g2000cwa.googlegro ups.com... Yes, I've readed the entire RFC, but as I said...I'm very new in 'C' and I copied the files that is in Appendix.
At this point, everything's fine...but when I try to compile it...like...I donno how to compile those files togheter.
I tried 'gcc mddriver.c -o mddriver' , and a lot of errors appears to me :/
I'm posting here cause I tried everything that I can with no results.
That's because the code provided with the RFC has a bug :-)
At approximately line 20 or mddriver.c replace the following line:
#define MD MD5
with
#define MD 5
That's should do the trick.
Regards,
Mark
In the first compile I got errors:
The command:
gcc -c -v -Wall -I. -omd5.o md5c.c
The errors:
GGC heuristics: --param ggc-min-expand=46 --param
ggc-min-heapsize=31005
ignoring nonexistent directory "/usr/i486-slackware-linux/include"
#include "..." search starts here:
#include <...> search starts here:
"Mark" <so***@localbar.com> wrote in message
news:Vh*******************@newshog.newsread.com... "dutche" <du****@gmail.com> wrote in message news:11*********************@g49g2000cwa.googlegro ups.com... Yes, I've readed the entire RFC, but as I said...I'm very new in 'C' and I copied the files that is in Appendix.
At this point, everything's fine...but when I try to compile it...like...I donno how to compile those files togheter.
I tried 'gcc mddriver.c -o mddriver' , and a lot of errors appears to me :/
I'm posting here cause I tried everything that I can with no results.
That's because the code provided with the RFC has a bug :-) At approximately line 20 or mddriver.c replace the following line:
#define MD MD5 with #define MD 5
That's should do the trick.
Regards, Mark
Worth mentioning: You'll also need to compile md5.c
$ gcc md5.c mddriver.c -o [whatever]
Mark
"dutche" <du****@gmail.com> wrote in message
news:11**********************@g43g2000cwa.googlegr oups.com... First, I created these files:
global.h md5.h md5c.c mddriver.c
Ok, I made it exactly as described but when I try to compile I dont got any results, I think that I'm doing something wrong when compiling.
I've copied the source of the programs directly from the RFC site, and the command that I used is: 'gcc mddriver.c -o mddriver'
gcc md5.c mddriver.c -o mddriver
And the errors I got was...
caused by an bug in the code.
line 20 mddriver.c
#define MD MD5
should be
#define MD 5
dutche wrote: First, I created these files:
global.h md5.h md5c.c mddriver.c
Ok, I made it exactly as described but when I try to compile I dont got any results, I think that I'm doing something wrong when compiling.
I've copied the source of the programs directly from the RFC site, and the command that I used is: 'gcc mddriver.c -o mddriver'
And the errors I got was...
mddriver.c: In function `MDString': mddriver.c:106: error: `MD_CTX' undeclared (first use in this function) mddriver.c:106: error: (Each undeclared identifier is reported only once mddriver.c:106: error: for each function it appears in.) mddriver.c:106: error: parse error before "context" mddriver.c:110: error: `context' undeclared (first use in this function)
There are some errors in that source code at http://www.faqs.org/rfcs/rfc1321.html :
md5c.c line 82 (the blank line) should be deleted
mddriver.c line 21 should read:
#define MD 5
instead of
#define MD MD5
Note that md5c.c contains the functions for performing an MD5
operation (suitable for embedding in another project), and
mddriver.c is a commandline program that you can use to
call these functions.
If all you want to do is add these functions to another project
of yours, then you only need md5c.c .
Note that you have to tell GCC about all the source files you
want to compile:
gcc -o mddriver mddriver.c md5c.c
It's also a good idea to enable warnings:
gcc -o mddriver mddriver.c md5c.c -Wextra -Wall -ansi -pedantic
mddriver.c has a couple of warnings when compiled with these
switches, but they are ones you can safely ignore.
Finally, the source code in that RFC is a little archaic,
if you do a 'locate md5.c' on your system you will probably turn
up a lot of other implementations of it. For example, the PHP
source code contains it.
Is that point that I need to reach, I found that md5.c is the functions
to generate a hash right?
But (as I said I'm new in 'C') I cant realize which function is the
"hash maker".
Sorry, I'm still reading the K&R book but not too familiarized yet.
In article <11*********************@g47g2000cwa.googlegroups. com>, ja**********@gmail.com says... Please, learn how to ask an intelligent, useful question.
Please, learn how NOT to be a rude asswipe.
Red wrote: In article <11*********************@g47g2000cwa.googlegroups. com>, ja**********@gmail.com says...
Please, learn how to ask an intelligent, useful question.
Please, learn how NOT to be a rude asswipe.
While it is occasionally enjoyable to see a self-referential post, yours
is not at all amusing.
Martin Ambuhl wrote: Red wrote: ja**********@gmail.com says...
Please, learn how to ask an intelligent, useful question.
Please, learn how NOT to be a rude asswipe.
While it is occasionally enjoyable to see a self-referential post, yours is not at all amusing.
No, but it does an admirable job of inciting PLONKs up and down the
seacoast.
--
Chuck F (cb********@yahoo.com) (cb********@worldnet.att.net)
Available for consulting/temporary embedded and systems.
<http://cbfalconer.home.att.net> USE worldnet address! This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics |
by: pembed2003 |
last post by:
Hi All,
Does C++/STL have hashtable where I can do stuff like:
Hashtable h<int>;
h.store("one",1);
h.store("two",2);
and then later retrieve them like:
|
by: Mamuninfo |
last post by:
Hello,
Have any function in the DB2 database that can generate unique id
for each string like oracle, mysql,sybase,sqlserver database.
In mysql:-
select md5(concat_ws("Row name")) from...
|
by: Chang |
last post by:
How to get SHA1 or MD5 of a big file (+5MB - 20GB) as I can't read 20GB into
memory.
--
Chang.
|
by: mortb |
last post by:
Hi,
How do I write a GenerateHashcode function that will generate guaranteed
unique hashcodes for my classes?
cheers,
mortb
|
by: RossettoeCioccolato |
last post by:
Is there a brief tutorial somewhere on how to use the VC8 linker to generate
a manifest for an isolated application with a dependency section for an
arbitrary dll? There are some implementation...
| |
by: Johan Tibell |
last post by:
I would be grateful if someone had a minute or two to review my hash
table implementation. It's not yet commented but hopefully it's short
and idiomatic enough to be readable. Some of the code...
|
by: ravi |
last post by:
Hi
can anybody tell me that which ds will be best suited to implement a
hash table in C/C++
thanx. in advanced
|
by: jimhce |
last post by:
Hi,
I want to generate a hash key from a string, and I want to the hash key is the same value for the same string. But it turns out all the hash functions I have tried, generate different keys...
|
by: ChipAuger |
last post by:
Hello Group,
Thank you in advance to the group for all responses and help. I'm
looking for a 1-way hash for storing passwords on an older embedded
system that would be computationally stressed...
|
by: Ashish Khandelwal |
last post by:
As MSDN is not giving us guarantee upon uniqueness of Hash Code, so
could any one suggest me that how to generate a unique Hash Code for
same string always, and generate different-2 Hash Code...
|
by: marktang |
last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
| |
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
|
by: Hystou |
last post by:
Overview:
Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
|
by: agi2029 |
last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new...
|
by: conductexam |
last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...
| |
by: TSSRALBI |
last post by:
Hello
I'm a network technician in training and I need your help.
I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs.
The...
|
by: muto222 |
last post by:
How can i add a mobile payment intergratation into php mysql website.
| |