代码:
SHA1 sha = new SHA1CryptoServiceProvider();
string hashedValue = string.Empty;
//hash the data
byte[] hashedData = sha.ComputeHash(Encoding.Unicode.GetBytes(str));
//loop through each byte in the byte array
foreach (byte b in hashedData)
{
//convert each byte and append
hashedValue += String.Format("{0,2:X2}", b);
}
我搜索了传递给String.Format((的参数,但无法准确理解。
提前感谢!
Formatting the string in hexadecimal format...
X=十六进制格式
2=2个字符
它基本上只是以大写十六进制格式格式化字符串-请参阅文档。
十六进制("X"(格式说明符将数字转换为十六进制数字字符串。格式说明符的大小写指示对于大于9的十六进制数字是使用大写还是小写字符。
这种特殊的格式被称为复合格式,因此将其分解为:
{0 = parameterIndex, 2 = alignment :X2 = formatString}