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 0.735 second using v1.01-cache-2.11-cpan-71847e10f99 )