[ itf @ 25.12.2010. 21:33 ] @
Već dobrih pola dana mučim se s ovom Crypto++ bibliotekom i nikako ne mogu skužiti kako izolirati dio koda koji radi hash neke poruke (stringa). Konkretno za gore navedene SHA256/512 algoritme. Oni su u primjeru dali kako se radi hash datoteke, ali ne i stringa. Nešto sam našao na netu da ide u stilu Code (cpp): char cDigest[64]; SHA512 sh; memset(cDigest, 0, sizeof(cDigest)); sh.Update((BYTE*)"test", strlen("test")); sh.Final(cDigest); Ovo čak i prolazi, ali na izlazu dobijem hrpu neformatiranih znakova, no opet, može sve biti potpuno netočno. Ima li itko primjer za izradu hash-a stringa za SHA256/512? Može za Crypto++, ali i bilo koju drugu biblioteku u kojoj to radi. EDIT: Uspio sam rješiti. Postupak je dobar, ali je bilo potrebno upotrijebiti HexEncoder, pa ako će ikome trebati evo kako glasi sve: Code (cpp): char cDigest[64], izhex[64]; memset(cDigest, 0, sizeof(cDigest)); SHA512 sh; sh.Restart(); sh.Update((BYTE*)"test123",strlen("test123")); sh.Final(cDigest); std::string encoded; CryptoPP::HexEncoder encoder( new CryptoPP::StringSink( encoded ), true /* Uppercase */, 2 /* Grouping */, "" /* Separator */ ); encoder.Put((const unsigned char*)cDigest, 64,true); encoder.MessageEnd(); ... izlazni string je encoded. [Ovu poruku je menjao itf dana 26.12.2010. u 00:51 GMT+1] |