mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-10-06 00:30:10 -06:00
AESStream: Added SHA2 functions
git-svn-id: svn://ultimatepp.org/upp/trunk@2377 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
2dc5d9c302
commit
6038514e05
3 changed files with 59 additions and 0 deletions
51
bazaar/AESStream/Sha.cpp
Normal file
51
bazaar/AESStream/Sha.cpp
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
#include <Core/Core.h>
|
||||
|
||||
#include <openssl/sha.h>
|
||||
#include "AESStream.h"
|
||||
|
||||
//SHA2 functions from OpenSSL
|
||||
|
||||
String SHA224String(const String& data) {
|
||||
SHA256_CTX sha;
|
||||
byte digest[28];
|
||||
|
||||
SHA224_Init(&sha);
|
||||
SHA224_Update(&sha, data, data.GetCount());
|
||||
SHA224_Final(digest, &sha);
|
||||
|
||||
return HexString(digest, 28);
|
||||
}
|
||||
|
||||
String SHA256String(const String& data) {
|
||||
SHA256_CTX sha;
|
||||
byte digest[32];
|
||||
|
||||
SHA256_Init(&sha);
|
||||
SHA256_Update(&sha, data, data.GetCount());
|
||||
SHA256_Final(digest, &sha);
|
||||
|
||||
return HexString(digest, 32);
|
||||
}
|
||||
|
||||
String SHA384String(const String& data) {
|
||||
SHA512_CTX sha;
|
||||
byte digest[48];
|
||||
|
||||
SHA384_Init(&sha);
|
||||
SHA384_Update(&sha, data, data.GetCount());
|
||||
SHA384_Final(digest, &sha);
|
||||
|
||||
return HexString(digest, 48);
|
||||
}
|
||||
|
||||
String SHA512String(const String& data)
|
||||
{
|
||||
SHA512_CTX sha;
|
||||
byte digest[64];
|
||||
|
||||
SHA512_Init(&sha);
|
||||
SHA512_Update(&sha, data, data.GetCount());
|
||||
SHA512_Final(digest, &sha);
|
||||
|
||||
return HexString(digest, 64);
|
||||
}
|
||||
Loading…
Reference in a new issue