这两个代码块是否会返回相同的内容?假设arr
是在这两个例子中的相同byte[]
:SHA256.Create()和HashAlgorithm.Create(“SHA-256”)是否有区别?
代码示例1
HashAlgorithm a = HashAlgorithm.Create("SHA-256");
var result = a.ComputeHash(arr);
代码示例2
SHA256 b = SHA256.Create();
var result = b.ComputeHash(arr);
UPDATE: 我有样件生成的项目C#中的AWS签名代码(用.Net 4.5编写)和a m试图在dotnetcode5项目中使用它的类,并且仅仅因为dotnetcode5中没有HashAlgorithm.Create()
,我决定使用第二种方法而不是第一种方法。问题在于第二个示例返回一个在AWS中无效的规范结果。
因此,您应该问*为什么*这两个片段之间存在差异,而不是*是否存在差异,根据您对第一个答案的评论来判断。 –
你如何比较你的字节数组? – Rohit