使用C#計算SHA-256


最近技能點點到後端去了,遇到要用額外用雜湊簽名的 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) 這樣出來的結果才會是正確的。

Hi 喜歡這篇文章的話 或許可以請我喝杯咖啡
Buy me a coffeeBuy me a coffee