gpt4 book ai didi

.NET:处理 HashAlgorithm 对象

转载 作者:行者123 更新时间:2023-12-04 17:42:25 24 4
gpt4 key购买 nike

从 HashAlgorithm 派生的对象(例如 MD5CryptoServiceProvider)具有 Dispose() 方法,但它是私有(private)的。相反,它有一个 Clear() 方法,可以“释放所有资源”。

怎么回事?

那么这是如何正确处理 HashAlgorithm 呢?

var hasher = new MD5CryptoServiceProvider();

byte[] hashCode = hasher.ComputeHash(data);

hasher.Clear();

有人想向我解释这个吗? :)

最佳答案

Dipose()方法是私有(private)的,如果你将它转换为 IDisposable您可以访问它。不过,正如其他人所说,Clear()会为你打电话。

然而,更好的方法是将变量的声明和赋值包含在 using() block 中:

byte[] hashCode;

using(var hasher = new MD5CryptoServiceProvider())
{
hashCode = hasher.ComputeHash(data);
}

关于.NET:处理 HashAlgorithm 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/761660/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com