32位的md5去掉前后各8个字符,也就是取出8到24位的字符就是16位的md5了,代码如下
public static string md5(string text,Boolean is16bit=false)
{
string enc = BitConverter.ToString((new MD5CryptoServiceProvider()).ComputeHash(Encoding.Default.GetBytes(text))).Replace("-", "");
if (is16bit) return enc.Substring(8,16);
else return enc;
}
static void Main(string[] args)
{
Console.WriteLine(md5("Hello World!"));//32位md5
Console.WriteLine(md5("Hello World!",true));//16位md5
Console.ReadKey();
}
byte[] ArrOut=**************************;
string str = BitConverter.ToString(ArrOut).Replace("-", "");
一个byte变量的值范围是0~255,转成16进制就是00~ff,两个字符。
16个byte转成16进制,得到32个字符