HashAlgorithm 的不同之处在于新的 SHA256Managed() 与 SHA256Managed.Create()
What is different about HashAlgorithm is new SHA256Managed() vs. SHA256Managed.Create()
我似乎看到 SHA-2 以两种不同的方式完成。
是的,我知道 1 是 "newed"(实例化),而另一个是 Create 方法,但似乎实现了相同的相同对象
HashAlgorithm sha2 = new SHA256Managed();
vs.
SHA256 sha2 = SHA256Managed.Create();
"sha2"是不是一样?如果不是有什么区别,为什么写了 2 种类型?
.Create
方法可能会为您提供一个平台优化的实现版本(尽管 Microsoft 的当前代码可能不会在所有可能的地方使用该机会)。
例如,如果此调用是在具有硬件加密支持的计算机上进行的,则它可能 return 特定于硬件的版本。
因此,避免在您自己的代码中使用特定实现是更好的选择。
我似乎看到 SHA-2 以两种不同的方式完成。
是的,我知道 1 是 "newed"(实例化),而另一个是 Create 方法,但似乎实现了相同的相同对象
HashAlgorithm sha2 = new SHA256Managed();
vs.
SHA256 sha2 = SHA256Managed.Create();
"sha2"是不是一样?如果不是有什么区别,为什么写了 2 种类型?
.Create
方法可能会为您提供一个平台优化的实现版本(尽管 Microsoft 的当前代码可能不会在所有可能的地方使用该机会)。
例如,如果此调用是在具有硬件加密支持的计算机上进行的,则它可能 return 特定于硬件的版本。
因此,避免在您自己的代码中使用特定实现是更好的选择。