使用C#計算SHA-256
11 Apr 2018最近技能點點到後端去了,遇到要用額外用雜湊簽名的 API 設計,因此研究了一下怎麼用 C# 算 SHA-256 的雜湊值。
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
) 這樣出來的結果才會是正確的。