1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/ext/digest/md5/md5ossl.c
knu 965393cbb8 * ext/digest/md5: Use OpenSSL's MD5 engine if available. It is
much faster than what we have now (md5.[ch]).  Add a knob
  (--with-bundled-md5) to extconf.rb which makes it use the
  bundled one anyway.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2893 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2002-09-26 16:27:23 +00:00

28 lines
614 B
C

/* $Id$ */
#include "md5ossl.h"
#include <sys/types.h>
void
MD5_End(MD5_CTX *pctx, unsigned char *hexdigest)
{
unsigned char digest[16];
size_t i;
MD5_Final(digest, pctx);
for (i = 0; i < 16; i++)
sprintf(hexdigest + i * 2, "%02x", digest[i]);
}
int
MD5_Equal(MD5_CTX* pctx1, MD5_CTX* pctx2) {
return pctx1->num == pctx2->num
&& pctx1->A == pctx2->A
&& pctx1->B == pctx2->B
&& pctx1->C == pctx2->C
&& pctx1->D == pctx2->D
&& pctx1->Nl == pctx2->Nl
&& pctx1->Nh == pctx2->Nh
&& memcmp(pctx1->data, pctx2->data, sizeof(pctx1->data)) == 0;
}