Digest-Tiger
view release on metacpan or search on metacpan
MODULE = Digest::Tiger PACKAGE = Digest::Tiger
PROTOTYPES: DISABLE
void
hash(...)
PREINIT:
unsigned char *data;
STRLEN len;
word64 res[3];
PPCODE:
data = (unsigned char *)(SvPV(ST(0), len));
tiger(data, len, res);
endian_swap(res);
ST(0) = sv_2mortal(newSVpv( (char *) res, 24));
XSRETURN(1);
void
hexhash(...)
PREINIT:
unsigned char *data;
STRLEN len;
word64 res[3];
char hexhash_string[49];
PPCODE:
data = (unsigned char *)(SvPV(ST(0), len));
tiger(data, len, res);
/* we don't need an endian swap */
sprintf(hexhash_string, "%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X%02X",
(byte)(res[0]), (byte)(res[0]>>8), (byte)(res[0]>>16),
(byte)(res[0]>>24), (byte)(res[0]>>32), (byte)(res[0]>>40),
(byte)(res[0]>>48), (byte)(res[0]>>56), (byte)(res[1]),
(byte)(res[1]>>8), (byte)(res[1]>>16), (byte)(res[1]>>24),
( run in 1.074 second using v1.01-cache-2.11-cpan-5511b514fd6 )