[Metalab] [intern] Secure password hashing in c++ using cryptopp

reox metalab at reox.at
Wed Sep 12 13:31:05 CEST 2018


Soweit ich weiß sollte man für Passwörter hash Funktionen verwenden, welche für Passwörter gemacht wurden und nicht die "üblichen verdächtigen" wie SHA.
Hier gibts dazu ne ganze Menge infos: https://crackstation.net/hashing-security.htm

LG Sebastian

Am 12. September 2018 13:09:39 MESZ schrieb Amir <amir at viel-zu.org>:
>ich hab mir eine passwort hashing funktion gezimmert und hab aber 
>zweifel ob sie sicher ist. was denkt ihr?
>
>#include <cryptopp/hex.h>
>#include <cryptopp/sha.h>
>#include <cryptopp/base64.h>
>#include <random>
>
>using std::string;
>
>std::<string,string> hash_password(const string password)
>{
>   std::mt19937 rng;
>   rng.seed(std::random_device()());
>   std::uniform_real_distribution<std::mt19937::result_type> dist(0,1);
>
>   string salt = std::to_string(dist(rng));
>   CryptoPP::SHA256 hash;
>   byte digest[CryptoPP::SHA256::DIGESTSIZE];
>   std::string output;
>
>   hash.CalculateDigest(digest,(const byte *)salt.c_str(),salt.size());
>
>   CryptoPP::HexEncoder encoder;
>   CryptoPP::StringSink *SS = new CryptoPP::StringSink(output);
>   encoder.Attach(SS);
>   encoder.Put(digest,sizeof(digest));
>   encoder.MessageEnd();
>
>   return {output, salt};
>}
>
>_______________________________________________
>intern mailing list
>intern at lists.metalab.at
>https://metalab.at/wiki/Intern_Abonnement_Verwalten
>https://lists.metalab.at/mailman/listinfo/intern
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.metalab.at/pipermail/metalab/attachments/20180912/3133ee04/attachment.html>


More information about the Metalab mailing list