PHP和JAVA对特殊转义字符进行MD5加密 结果为什么不一致? - 汇站网

PHP和JAVA对特殊转义字符进行MD5加密 结果为什么不一致?

2024-10-29 0 461

正文:

在 Java 中实现 MD5 加密时,我们可能会遇到因特殊转义字符处理不当而导致的加密结果偏差问题。最近,我们在对比PHP和 Java 对同一字符串进行 MD5 加密时,就发现了这样的差异。
PHP和JAVA对特殊转义字符进行MD5加密 结果为什么不一致?
在 PHP 中,我们编写了如下代码:

$pwd=123456; echo md5($pwd."\xa3");

这段代码中,`\xA3`是对英镑符号的特殊转义,其 MD5 加密结果为` e885a841c486e07e91290546698f748c `。

为了深入掌握 PHP,推荐阅读“PHP 免费学习笔记(深入)”。

然而,在 Java 中,对相同字符串使用`\xA3`转义后,得到的 MD5 加密结果却有所不同:

int str="123456"; return getmd5(str+"\xa3");

加密结果为 3245fdd037dda90671a058373e238244。

经过深入研究,我们发现 PHP 中的`\xA3`会被自动转换为 Unicode 编码`\u00A3`,而 Java 中直接使用`\xA3`则将其视为普通字符进行加密,而非预期的转义字符。

为了解决这一问题,我们需要在 Java 中将转义字符正确地转换为 Unicode 编码。以下是一个参考解决方案:


# 汇站网
# https://www.huizhanii.com/38871.html
String pwd = "123456"; String salt = "u00a3"; // 就是 xa3 的 unicode 码 String str = pwd + salt; byte[] bytes = str.getBytes("ISO-8859-1"); //把所有的字节都当成 PHP 默认的 ISO-8859-1 字符来处理 MessageDigest md = MessageDigest.getInstance("MD5"); byte[] digest = md.digest(bytes); String md5Hex = String.format("%02x", new java.math.BigInteger(1, digest)); System.out.println(md5Hex);

通过这种方式,我们可以确保 Java 中的 MD5 加密结果与 PHP 保持一致,避免因特殊转义字符处理不当而导致的加密结果偏差。

转载请注明:汇站网 » PHP 和 JAVA 对特殊转义字符进行 MD5 加密 结果为什么不一致?

收藏 (0)

微信扫一扫

支付宝扫一扫

点赞 (0)

免责声明

本资源仅用于个人学习和研究使用,禁止用于任何商业环境!

 1.  本网站名称:汇站网
 2.  本站永久网址:https://www.huizhanii.com/
 3.  本站所有资源来源于网友投稿和高价购买,所有资源仅对编程人员及源代码爱好者开放下载做参考和研究及学习,本站不提供任何技术服务!
 4.  本站所有资源的展示图片和信息不代表本站的立场!本站只是储蓄平台及搬运
 5.  下载者禁止在服务器和虚拟机下进行搭建运营,本站所有资源不支持联网运行!只允许调试,参考和研究!!!!
 6.  未经原版权作者许可,禁止用于任何商业环境,任何人不得擅作它用,下载者不得用于违反国家法律,否则发生的一切法律后果自行承担!
 7.  为尊重作者版权,请在下载24小时内删除!请购买原版授权作品,支持你喜欢的作者,谢谢!
 8.  若资源侵犯了您的合法权益, 请持您的版权证书和相关原作品信息来信通知我们请来信     通知我们 我们会及时删除,给您带来的不便,我们深表歉意!
 9.  如下载链接失效、广告或者压缩包问题请联系站长处理!
 10.  如果你也有好源码或者教程,可以发布到网站,分享有金币奖励和额外收入!
 11.  本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
 12.  因源码具有可复制性,一经赞助 ,不得以任何形式退款。
 13.  更多详情请点击查看

汇站网 Java PHP和JAVA对特殊转义字符进行MD5加密 结果为什么不一致? https://www.huizhanii.com/38871.html

汇站

站长资源下载中心-找源码上汇站

常见问题
  • 如果付款后没有弹出下载页面,多刷新几下,有问题联系客服!
查看详情
  • 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。
查看详情

相关文章

发表评论
暂无评论
  随机评论   表情   下载本站到电脑桌面


表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情表情 表情表情表情表情 表情表情表情表情表情表情表情表情
登录后评论
联系官方客服

为您解决烦忧 - 24小时在线 专业服务

(汇站网)一个专注站长资源的平台网站,提供最新的网站模板和整站源码,内容包含各类精品网页模板,企业网站模板,网站模板,DIV+CSS模板,织梦模板,帝国cms模板,discuz模板,wordpress模板,个人博客论坛模板,上千种免费网页模板下载尽在汇站网.找源码上汇站.huizhanii.com