我在.NET 4.5這個工作代碼:sha256.TransformBlock在Win10通用的應用
var sha256 = System.Security.Cryptography.SHA256.Create();
var message = new byte[] {1, 2, 3};
var s = new byte[32];
var m = sha256.ComputeHash(message);
sha256.TransformBlock(m, 0, m.Length, m, 0);
sha256.TransformFinalBlock(s, 0, s.Length);
var x = sha256.Hash; // x = {236, 196, 174, 128, 243....}
而且我試圖複製其在通用的Windows 10應用程序。 但是我無法在新的.NET庫中的SHA256對象上找到TransformBlock/TransformFinalBlock函數。 我添加了對版本4.0.0-beta-23409 of System.Security.Cryptography.Algorithms的依賴關係。而我得到的錯誤是:
錯誤CS1061:「SHA256」不包含「TransformBlock」,沒有擴展方法「TransformBlock」接受型「SHA256」的第一個參數的定義可以發現( )
錯誤CS1061:'SHA256'未包含'TransformFinalBlock'的定義,也沒有找到接受'SHA256'類型的第一個參數的擴展方法'TransformFinalBlock' (您是否缺少使用指令或程序集引用?)
錯誤CS1061:'SHA256'不包含'哈希'並沒有擴展方法「哈希」接受型「SHA256」的第一個參數可以找到(是否缺少using指令或程序集引用?)
如何實現相同的結果,在.NET 4.5 ?
你爲什麼叫這兩個'ComputeHash'和'TransformBlock'? –
@ScottChamberlain這是一個非常好的問題。我對加密知之甚少。我從Java移植代碼,並且基本上按照他們在原始代碼中所做的那樣逐行進行。 – Stenkross