代码:
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()的参数,但没能完全理解它。
提前致谢!
答案 0 :(得分:3)
Formatting the string in hexadecimal format...
X =十六进制格式
2 = 2个字符
答案 1 :(得分:2)
它基本上只是以大写十六进制格式格式化字符串 - 请参阅the docs。
十六进制(“X”)格式说明符将数字转换为十六进制数字字符串。格式说明符的大小写表示是否对大于9的十六进制数字使用大写或小写字符。
这种特殊格式称为Composite Formatting,因此要将其分解:
{0 = parameterIndex, 2 = alignment :X2 = formatString}