4

このメソッドを使用するSHA256.Create()と、常にnull値が返されます。これが私がパスワードを暗号化するために持っている方法です...

private string EncryptPassword(string password)
{
    SHA256 sha = SHA256.Create(password);
    return BitConverter.ToString(sha.Hash);
}

デバッガーは、変数shaがnullであることを示しています。私はそれをコントローラーの独自のメソッドに入れてみましたが、それでもSystem.NullReferenceException

public String Index()
{
    return BitConverter.ToString(SHA256.Create("Hello World").Hash);
}

私は完全に迷子になっています。私が明らかに間違っていることはありますか?

4

1 に答える 1

7

はい、Create()メッセージ用ではありません。SHA256の実装を指定します。

SHA256Managed代わりに実装クラスを使用したいと思います。

http://msdn.microsoft.com/en-us/library/system.security.cryptography.sha256managed.aspx

例:

using (var sha256 = new SHA256Managed())
{
    byte[] raw = Encoding.Default.GetBytes(password);
    return sha256.ComputeHash(raw);
}
于 2012-06-04T19:28:55.717 に答える