为什么 SQL Server 2008 MD5 显示外文字符?

发布于 2024-10-10 10:54:31 字数 323 浏览 1 评论 0原文

select cast(hashbytes('md5', 'test') as varchar)

显示,

載쵫ⅆ珓�荎✦

但在 C# 中,

System.Security.Cryptography.MD5.ComputeHash('test');

显示

c8059e2ec7419f590e79d7f1b774bfe6

看起来是正确的。这是SQL Server编码的问题吗?

select cast(hashbytes('md5', 'test') as varchar)

displays

載쵫ⅆ珓�荎✦

but in C#,

System.Security.Cryptography.MD5.ComputeHash('test');

displays

c8059e2ec7419f590e79d7f1b774bfe6

which looks to be correct. Is this a problem with SQL Server's encoding?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

猥琐帝 2024-10-17 10:54:31

hashbytes 获取原始 MD5,而 C# 返回 base-16 编码版本。 (事实上​​,ComputeHash 做了同样的事情——你必须进行某种形式的转换才能将其转换为 16 进制字符串,不是吗?:))

hashbytes is getting the raw MD5, while C# is returning the base-16 encoded version. (In fact, ComputeHash does the same thing -- you had to do some form of conversion to get it into that base 16 string, didn't you? :) )

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文