C#实现将32位MD5摘要串转换为128位二进制字符串的方法

时间:2021-08-24 06:16:29

本文实例讲述了C#实现将32位MD5摘要串转换为128位二进制字符串的方法。分享给大家供大家参考,具体如下:

将32为MD5摘要串转换为128位二进制字符串:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
/// <summary>
/// 将字符串转成二进制
/// </summary>
/// <param name="s">源字符串</param>
/// <returns>二进制串</returns>
internal static string ConvertStringToBinary(string s)
{
  if (s.IsNullOrWhiteSpace())
  {
    throw new ArgumentNullException("源字符串为空", s);
  }
  if (s.Length != 32)
  {
    throw new ArgumentNullException("源字符串长度无效", s);
  }
  var bitBuilder = new StringBuilder(128);
  for (var i = 0; i < s.Length; i += 2)
  {
    var tem = Convert.ToInt32(s.Substring(i, 2), 16);
    bitBuilder.Append(Convert.ToString(tem, 2).PadLeft(8, '0'));
  }
  return bitBuilder.ToString();
}

希望本文所述对大家C#程序设计有所帮助。