使用C#計算SHA-256
最近技能點點到後端去了,遇到要用額外用雜湊簽名的 API 設計,因此研究了一下怎麼用 C# 算 SHA-256 的雜湊值。
1 2 3 4 5 6 7 8 9 10 11 12 13
| string INPUT="your-plain-text"; string OUTPUT="";
StringBuilder builder = new StringBuilder(); SHA256 sha256 = new SHA256CryptoServiceProvider(); byte[] source = Encoding.Default.GetBytes(INPUT); byte[] crypto = sha256.ComputeHash(source); for(int i = 0; i < crypto.Length; i++) { builder.Append(crypto[i].ToString("x2")); }
OUTPUT=builder.ToString();
|
其實大部分都是網路上隨手估狗就有的資料,會漏掉的小細節只有由陣列轉回 string 要用 for 迴圈,然後把一個一個位元用 .ToString("x2") 轉回來,其中 x2 是必要參數,它會讓 16 進制的表示法自動補零 (0xA -> 0x0A) 這樣出來的結果才會是正確的。