-2

代码:

        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() 的参数,但无法准确理解。

提前致谢!

4

2 回答 2

3
Formatting the string in hexadecimal format...
  1. X = 十六进制格式

  2. 2 = 2 个字符

于 2013-02-26T10:03:50.757 回答
2

它基本上只是以大写十六进制格式格式化字符串 - 请参阅文档

十六进制 ("X") 格式说明符将数字转换为十六进制数字字符串。格式说明符的大小写指示对于大于 9 的十六进制数字是使用大写还是小写字符。

这种特殊格式被称为Composite Formatting,因此将其分解:

{0 = parameterIndex, 2 = alignment :X2 = formatString}
于 2013-02-26T10:01:19.260 回答