今天在写自己的网站时遇到了个让我很困惑的问题. 情况是这样的. 我想通过发送邮件验证用户的邮箱, 第一次通过MD5生成URL发送了邮件
$_ZhuCeShiJian = time(); $_YanZheng = md5($_POST['zhanghao'] . $_YanZhengMa . $_ZhuCeShiJian); $_ChaXun_LeiXing = 'INSERT INTO ' . QIANZHUI . '_YongHuLeiXing (YongHu_ID, LeiXing_ID, JiHuoMa, YouXiaoQi, ZhuangTai, ZhuCeShiJian) VALUES (?, ?, ?, ?, ?, ?)'; $_ShengMing_LeiXing = $_ShuJuKuLianJie -> prepare($_ChaXun_LeiXing); $_ShengMing_LeiXing -> bind_param('ddsddd', $_ZhangHaoID, $_LeiXingID, $_YanZhengMa, $_YouXiaoQi, $_ZhuangTai, $_ZhuCeShiJian); $_ShengMing_LeiXing -> execute(); $_ShengMing_LeiXing -> close();. 生成的串值是: 6ace0e0799a888ec5698baa8cddd8de0, 然后我通过邮件的链接进入验证页面. 在代码中我通过调取数据库中相关的值重新用MD5加密了一遍字串
$_YanZheng = md5($_ZhangHao . $_YanZhengMa . $_ZhuCeShiJian);生成的串值却是: 228534dd0bfacc57a70fd752761591fc. 理论上, 虽然我通过了数据库调用和在不同的两个页面上. 可MD5中的字符串是一样的啊. 怎么两次加密的结果却完全不同? 当然, 这个问题我通过把加密字串存入数据库已经解决, 可我很困惑, 为什么两次加密的结果会完全不同, 如果有知道原因的大佬, 希望得到你的解答. 谢谢! 还有, 是否有办法解决这个问题, 让两次加密的值可以相同, 再次谢谢了.
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。