私はObjectDisposedExceptionを取得しています:セーフハンドルが閉じられました。ObjectDisposedException MD5 ComputeHashを使用しているとき
これは私のコードです:私は、文字列を取得するために私を有効にするには、その知られているキーを添付し、この文字列とキーのMD5ハッシュを計算しますインタフェースと実装クラスを作成しようとしています
、およびコードが正常に動作するように見える
public interface ISignService
{
string GetSignature(string str);
}
public class SignService : ISignService
{
private readonly ISignSettings _signSettings;
private readonly HashAlgorithm _hashAlgo;
public SignService(ISignSettings signSettings)
{
_signSettings = signSettings;
_hashAlgo = MD5.Create();
}
public string GetSignature(string str)
{
var strWithKey = str + _signSettings.EncryptionKey;
var hashed = _hashAlgo.ComputeHash(Encoding.UTF8.GetBytes(strWithKey));
return hashed.ToHexString();
}
}
おかげ
どのコード行が例外をスローしますか? – ken2k
'hashed.ToHexString()'は拡張メソッドですか?私はあなたのコードを貼り付け、そのメソッドは存在しません... – Laoujin
こんにちは、それは拡張メソッドです。スローする行は次のとおりです。var hashed = _hashAlgo.ComputeHash(Encoding.UTF8.GetBytes(strWithKey)); – user1625867