Ejemplo n.º 1
0
int sq_whirlpool(HSQUIRRELVM pVM)
{
    if(sq_gettop(pVM) == 2)
    {
        struct NESSIEstruct w;
        u8 digest[DIGESTBYTES];

        const char* data;
        char out[DIGESTBYTES*2+1] = {0};
        int i;
        sq_getstring(pVM, 2, &data);

        NESSIEinit(&w);
        NESSIEadd((const unsigned char*)data, strlen(data)*8, &w);
        NESSIEfinalize(&w, digest);

        for(i=0; i < DIGESTBYTES; ++i)
        {
            sprintf(out, "%s%02X", out, digest[i]);
        }
        sq_pushstring(pVM, out, -1);
        return 1;
    }
    sq_pushnull(pVM);
    return 1;
}
Ejemplo n.º 2
0
static void GetWhirlPoolHash(TDes8& aWhirlPoolHash, TDes8& aImei)
{
#ifdef WHIRLPOOL_SYMBIAN 
    struct NESSIEstruct w;
    u8 digest[DIGESTBYTES];
    NESSIEinit(&w);
    NESSIEadd(aImei.Ptr(), 8*aImei.Length(), &w);
    NESSIEfinalize(&w, digest);    
    for(int  i = 0; i < DIGESTBYTES; i++)
        aWhirlPoolHash.AppendNumFixedWidth(digest[i],EHex, 2);
#endif    
}
Ejemplo n.º 3
0
int crypto_hash(unsigned char *out,const unsigned char *in,unsigned long long inlen)
{
  NESSIEstruct c;
  NESSIEinit(&c);
  while (inlen > 16777216) {
    NESSIEadd(in,8*16777216,&c);
    in += 16777216;
    inlen -= 16777216;
  }
  NESSIEadd(in,8*inlen,&c);
  NESSIEfinalize(&c,out);
  return 0;
}