From 3cf5594b47b849a0056a44a4435552f2dd965f0f Mon Sep 17 00:00:00 2001 From: Tina_Azure <-> Date: Thu, 27 Apr 2023 00:27:50 +0200 Subject: [PATCH] hash functions --- src/utilities.cpp | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) 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()); } /*