這兩個代碼塊是否會返回相同的內容?假設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