Crypt-RIPEMD160
view release on metacpan or search on metacpan
RIPEMD160.xs view on Meta::CPAN
CODE:
{
secure_memzero(ripemd160, sizeof(RIPEMD160_INFO));
safefree((char *) ripemd160);
}
void
reset(ripemd160)
Crypt::RIPEMD160 ripemd160
PPCODE:
{
RIPEMD160_init(ripemd160);
/* return self for method chaining */
XSRETURN(1);
}
Crypt::RIPEMD160
rmd160_clone(ripemd160)
Crypt::RIPEMD160 ripemd160
CODE:
RIPEMD160.xs view on Meta::CPAN
RETVAL = (Crypt__RIPEMD160) safemalloc(sizeof(RIPEMD160_INFO));
memcpy(RETVAL, ripemd160, sizeof(RIPEMD160_INFO));
}
OUTPUT:
RETVAL
void
rmd160_add(ripemd160, ...)
Crypt::RIPEMD160 ripemd160
PPCODE:
{
STRLEN len;
byte *strptr;
int i;
for (i = 1; i < items; i++) {
strptr = (byte *) (SvPVbyte(ST(i), len));
#if PTRSIZE > 4
/* STRLEN is 64-bit on 64-bit systems but RIPEMD160_update
takes a 32-bit dword length; chunk to avoid truncation */
( run in 1.861 second using v1.01-cache-2.11-cpan-71847e10f99 )