Example #1
0
	uint ShaHmac::GetDigest(void* digest,const void* data,uint len,const void* key,uint klen,SHA_BITS bits){
		if(bits==sha_160){
			sha1_hmac((byte*)key,klen,(byte*)data,len,(byte*)digest);
		}else if(bits==sha_224){
			sha2_hmac((byte*)key,klen,(byte*)data,len,(byte*)digest,1);
		}else if(bits==sha_256){
			sha2_hmac((byte*)key,klen,(byte*)data,len,(byte*)digest,0);
		}else if(bits==sha_384){
			sha4_hmac((byte*)key,klen,(byte*)data,len,(byte*)digest,1);
		}else if(bits==sha_512){
			sha4_hmac((byte*)key,klen,(byte*)data,len,(byte*)digest,0);
		}else{
			_ASSERT(0);
			return 0;
		}
		return bits;
	}
Example #2
0
// map the sha4_hmac() function with 384 bits as output
static int hmac_sha384( lua_State *L ) {
  size_t              zero_text = 0;
  size_t              *text_length = &zero_text;
  size_t              zero_key         = 0;
  size_t              *key_length = &zero_key;
  const unsigned char *text       = (const unsigned char*) luaL_checklstring( L, 1, text_length );
  const unsigned char *key        = (const unsigned char*) luaL_checklstring( L, 2, key_length );
  unsigned char output[64];
    
  sha4_hmac( key, *key_length, text, *text_length, output, SHA384 );
  
  lua_pushlstring( L, (const char *)output, 48 ); // Push 384 bit string to lua
  return 1;
}
Example #3
0
void SHA512::compute(const unsigned char* key, int keylen, const unsigned char* input, int ilen, unsigned char output[] )
{
    sha4_hmac(key,keylen,input,ilen,output,0);
}
Example #4
0
void sha512_hmac_wrap( const unsigned char *key, size_t keylen,
        const unsigned char *input, size_t ilen,
        unsigned char *output )
{
    sha4_hmac( key, keylen, input, ilen, output, 0 );
}