<html><head></head><body>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.<br>Hier gibts dazu ne ganze Menge infos: <a href="https://crackstation.net/hashing-security.htm">https://crackstation.net/hashing-security.htm</a><br><br>LG Sebastian<br><br><div class="gmail_quote">Am 12. September 2018 13:09:39 MESZ schrieb Amir <amir@viel-zu.org>:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">ich hab mir eine passwort hashing funktion gezimmert und hab aber <br>zweifel ob sie sicher ist. was denkt ihr?<br><br>#include <cryptopp/hex.h><br>#include <cryptopp/sha.h><br>#include <cryptopp/base64.h><br>#include <random><br><br>using std::string;<br><br>std::<string,string> hash_password(const string password)<br>{<br>   std::mt19937 rng;<br>   rng.seed(std::random_device()());<br>   std::uniform_real_distribution<std::mt19937::result_type> dist(0,1);<br><br>   string salt = std::to_string(dist(rng));<br>   CryptoPP::SHA256 hash;<br>   byte digest[CryptoPP::SHA256::DIGESTSIZE];<br>   std::string output;<br><br>   hash.CalculateDigest(digest,(const byte *)salt.c_str(),salt.size());<br><br>   CryptoPP::HexEncoder encoder;<br>   CryptoPP::StringSink *SS = new CryptoPP::StringSink(output);<br>   encoder.Attach(SS);<br>   encoder.Put(digest,sizeof(digest));<br>   encoder.MessageEnd();<br><br>   return {output, salt};<br>}<hr>intern mailing list<br>intern@lists.metalab.at<br><a href="https://metalab.at/wiki/Intern_Abonnement_Verwalten">https://metalab.at/wiki/Intern_Abonnement_Verwalten</a><br><a href="https://lists.metalab.at/mailman/listinfo/intern">https://lists.metalab.at/mailman/listinfo/intern</a></pre></blockquote></div></body></html>