sha265に付属しているC#のクラスライブラリは、バイト[]配列を返します。
この配列の長さは32であり、JS sha265 64であり、各バイトは、直接2進文字列に変換されます。
暗号化は、C#44で後にアレイに文字列をbase64エンコードであろうためです。
C#が直接16進文字列に対応するバイトに変換しjsが同じです。
さらに、STRバイトに変換するには、[]異なるアレイ場合エンコーディング、異なるSHAは、一般JS UTF8です。
public
static
string
SHA256(
string
str)
{
//如果str有中文,不同Encoding的sha是不同的!!
byte
[] SHA256Data = Encoding.UTF8.GetBytes(str);
SHA256Managed Sha256 =
new
SHA256Managed();
byte
[]
by
= Sha256.ComputeHash(SHA256Data);
return
BitConverter.ToString(
by
).Replace(
"-"
,
""
).ToLower();
//64
//return Convert.ToBase64String(by); //44
}
static
void
Main(
string
[] args)
{
string
s =
"hello world"
;
//sha265=b94d27b9934d3e08a52e52d7da7dabfac484efe37a5380ee9088f7ace2efcde9
string
sha = SHA256(s);
Console.WriteLine(
"{0}\n{1} \nLength: {2}"
,s, sha, sha.Length);
}
私は個人的に使用します!あなたはQを追加することができるかどうかはわからない:961823316を