C#中的MD5类的一个问题
C#中的MD5类的一个问题C#里MD5加密的结果是一个byte[]长度为16在网上找的MD5加密结果貌似都是32位和16位的字符串请问那个byte[]如何转成网上那些32...
C#中的MD5类的一个问题
C#里MD5加密的结果是一个 byte[] 长度为16
在网上找的MD5加密结果 貌似都是32位和16位的字符串
请问那个 byte[] 如何转成网上那些32位和16位的字符串? 展开
C#里MD5加密的结果是一个 byte[] 长度为16
在网上找的MD5加密结果 貌似都是32位和16位的字符串
请问那个 byte[] 如何转成网上那些32位和16位的字符串? 展开
展开全部
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个字符
16个byte转成16进制,得到32个字符
追问
那MD5的16位字符串是怎么来的?
追答
md5出来的不是128bit的结果吗,8bit是一个字节于是128/8=16个字节,
16个字符的没见过……
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询