【发布时间】:2014-07-14 08:20:05
【问题描述】:
我正在将一个用Java struts开发的应用程序移植到PHP中,数据库在MySQL中,
PHP、MySQL 或在线 MD5 为 NtbPq 生成这个:
db94207ab2924504e0f590682645258a
应用程序为相同的密码生成了这个:
db94207ab292454e0f590682645258a
^
请注意缺少 1 个字符。现在 Java 应用程序可以完美运行并记录用户,但 PHP 无法验证并说它与 PHP md5 函数不匹配。
有什么解决方案我可以通过 java 使用 31 char md5 在 PHP 中进行验证?
编辑:问题是我还没有开发java应用程序,现在有400多个用户,我想移植到php中,我对java一无所知,我只想验证那些31个字符的md5在 php 中
【问题讨论】:
-
一个 MD5 哈希应该有 32 位数字 (en.wikipedia.org/wiki/MD5),所以它会在你的代码中被截断。你能粘贴生成它的特定 PHP 函数吗?
-
尝试使用不同的密码散列算法,因为 MD5 不安全。
-
它的意思是 32 位数字,如果没有代码,很难判断是什么导致了截断。试试this question
-
@Justinas 如果他想移植用户,他不能改变算法并不是问题
-
java struts 应用程序正在生成 31 字符 md5,我没有 java 经验,我的应用程序与 32 字符 md5 完美配合,但我想移植 java md5 之前创建的 mysql 数据库和使用php登录用户