Here's my new Hash Lib, built again in Ansi C OOP. The lib is compatible with windows, linux, and mac too!
Every hash algorithm has a little cosmetic change, just to uniform all hash algorithm implementations. It doesn't have all hash algoritms, but i think that it has all the most important ones.
Download Source
Example:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// by juza - iamjuza [at] gmail [dot] com | |
#include "Hash.h" | |
#include "libdefs.h" | |
#include <stdio.h> | |
int main(void) | |
{ | |
PHASH lpHash = {0}; | |
if (newHash(&lpHash)) | |
{ | |
printf("------------\n"); | |
printf("CRC-16 : %s\n", lpHash->crc16((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("crc16ccitt : %s\n", lpHash->crc16ccitt((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("CRC-32 : %s\n", lpHash->crc32((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("CRC-64 : %s\n", lpHash->crc64((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("Adler-32 : %s\n", lpHash->adler32((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("------------\n"); | |
printf("GOST : %s\n", lpHash->gost((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("------------\n"); | |
printf("MD2 : %s\n", lpHash->md2((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("MD4 : %s\n", lpHash->md4((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("MD5 : %s\n", lpHash->md5((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("------------\n"); | |
printf("haval128p3 : %s\n", lpHash->haval128p3((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("haval128p4 : %s\n", lpHash->haval128p4((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("haval128p5 : %s\n", lpHash->haval128p5((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("haval160p3 : %s\n", lpHash->haval160p3((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("haval160p3 : %s\n", lpHash->haval160p4((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("haval160p5 : %s\n", lpHash->haval160p5((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("haval192p3 : %s\n", lpHash->haval192p3((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("haval192p4 : %s\n", lpHash->haval192p4((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("haval192p5 : %s\n", lpHash->haval192p5((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("haval224p3 : %s\n", lpHash->haval224p3((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("haval224p4 : %s\n", lpHash->haval224p4((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("haval224p5 : %s\n", lpHash->haval224p5((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("haval256p3 : %s\n", lpHash->haval256p3((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("haval256p4 : %s\n", lpHash->haval256p4((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("haval256p5 : %s\n", lpHash->haval256p5((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("------------\n"); | |
printf("SHA128 : %s\n", lpHash->sha128((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("SHA224 : %s\n", lpHash->sha224((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("SHA256 : %s\n", lpHash->sha256((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("SHA384 : %s\n", lpHash->sha384((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("SHA512 : %s\n", lpHash->sha512((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("------------\n"); | |
printf("RIPEMD-128 : %s\n", lpHash->ripemd128((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("RIPEMD-160 : %s\n", lpHash->ripemd160((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("------------\n"); | |
printf("Tiger : %s\n", lpHash->tiger((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("------------\n"); | |
printf("Whirlpool : %s\n", lpHash->whirlpool((PCUBYTE)"Juza", strlen("Juza"))); | |
printf("------------\n"); | |
closeHash(lpHash); | |
} | |
return 0; | |
} |
No comments:
Post a Comment