问,如何代码为什么返回乱码?

ykwang 2004-10-07 10:23:59
Dim sSource As String = "qq"
Dim bySource As Byte() = Encoding.ASCII.GetBytes(sSource)
Dim byDest() As Byte

Dim md5 = New MD5CryptoServiceProvider
byDest = md5.ComputeHash(bySource)
md5.Clear()
TextBox1.Text = Encoding.ASCII.GetString(byDest)
不知为什么,返回的都是乱码
...全文
96 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ykwang 2004-10-08
  • 打赏
  • 举报
回复
Shared Function MD5(ByVal str As [String]) As [String]
Dim data As Byte() = Encoding.Unicode.GetBytes(str)
Dim mc = New MD5CryptoServiceProvider
Dim result As Byte() = mc.ComputeHash(data)
Return Encoding.Unicode.GetString(result)
End Function

如上VB.NET MD5代码 我用它来计算 "12" 的MD5值,返回值是:須꩟፱ﲭ"➬ 为什么不能识别?
因为VB中的MD5值基本上数字与字母组成.不知这是为什么?
ykwang 2004-10-08
  • 打赏
  • 举报
回复
yanransoft() 的方法算出来的MD5密码只有29位??
xiaohutushen 2004-10-07
  • 打赏
  • 举报
回复
用MD5加密过的东西,是不可以解密的。
(不过听说已经有人能解密了。)
misng 2004-10-07
  • 打赏
  • 举报
回复
要正常显示必须解密后才行。否则要加密做什么????
yanransoft 2004-10-07
  • 打赏
  • 举报
回复
我的c# md5加密算法:

public static string MD5E(string original)
{
MD5CryptoServiceProvider md5service = new MD5CryptoServiceProvider();
byte[] orig = new byte[original.Length];
for (int i = 0; i < original.Length; i++)
{
orig[i] = Convert.ToByte(original[i]);
}
byte[] result = md5service.ComputeHash(orig);
string sResult = string.Empty, t;
foreach (byte b in result)
{
t = OctToHex(b);
sResult += t;
}
return sResult;
}

private static string OctToHex(byte b)
{
string strBase16 = Convert.ToString(b, 16);
return strBase16.ToUpper();
}
ykwang 2004-10-07
  • 打赏
  • 举报
回复
那如何得到加密的密码呢? 用MSGBOX byDest 是不能显示的

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧