diff --git a/src/utilities.cpp b/src/utilities.cpp index 6c92d38..6760a56 100644 --- a/src/utilities.cpp +++ b/src/utilities.cpp @@ -252,6 +252,22 @@ namespace Utilities { return ss.str(); } + std::string createHashSha256(const std::string& str){ + unsigned char hash[SHA256_DIGEST_LENGTH]; + + SHA512_CTX sha256; + SHA512_Init(&sha256); + SHA512_Update(&sha256, str.c_str(), str.size()); + SHA512_Final(hash, &sha256); + + std::stringstream ss; + + for(int i = 0; i < SHA256_DIGEST_LENGTH; i++){ + ss << std::hex << std::setw(2) << std::setfill('0') << static_cast( hash[i] ); + } + return ss.str(); + } + /* * Generates a salt using Mersenne Twister */ @@ -320,8 +336,15 @@ namespace Utilities { /* * Generates a hash based on a combination of 2 random salts */ - std::string generateLoginKeyValue() { - return hashPassword(generateSalt(), generateSalt()); + std::string generateRandomHashValueSHA512() { + return createHashSha512(generateSalt() + generateSalt()); + } + + /* + * Generates a hash based on a combination of 2 random salts + */ + std::string generateRandomHashValueSHA256() { + return createHashSha256(generateSalt() + generateSalt()); } /*