8

Google で検索しましたが、 Cryptsharpライブラリを使用した Scrypt の使用法 (パスワードをハッシュするため) のコード サンプルが見つかりません。

パスワードをハッシュ化するためのサンプルを提供していただけますか?

4

2 に答える 2

4

@MaartebBodewes は、非常に賢明な追加のヒントを含む優れた回答を提供します。これは、彼の推奨事項を含むコード サンプルです。また、(執筆時点で) BCrypt やScryptなどの最新の暗号化を使用することの重要性を示す「パスワードが短すぎます」を読むことをお勧めします。

public string Hash(string secret, string salt)
{
    var keyBytes = Encoding.UTF8.GetBytes(secret);
    var saltBytes = Encoding.UTF8.GetBytes(salt);
    var cost = 262144;
    var blockSize = 8;
    var parallel = 1;
    var maxThreads = (int?)null;
    var derivedKeyLength = 128;

    var bytes = SCrypt.ComputeDerivedKey(keyBytes, saltBytes, cost, blockSize, parallel, maxThreads, derivedKeyLength);
    return Convert.ToBase64String(bytes);
}
于 2016-01-12T08:54:45.900 に答える