我似乎看到SHA-2以两种不同的方式完成。
是的,我得到1是“newed”(实例化)而不是另一个创建方法但似乎实现了相同的相同对象
HashAlgorithm sha2 = new SHA256Managed();
vs.
SHA256 sha2 = SHA256Managed.Create();
“sha2”的行为是否相同?如果没有什么区别,为什么有两种类型?
答案 0 :(得分:2)
.Create
方法可能会为您提供平台优化的实现版本(尽管Microsoft的当前代码可能不会在所有可能的位置使用该机会)。
例如,如果在具有硬件加密支持的计算机上进行此调用,则可能会返回特定于硬件的版本。
因此,避免在您自己的代码中使用特定实现是一个更好的选择。