【发布时间】:2012-01-10 16:26:24
【问题描述】:
所以这里是一个已经存在的java函数
StringBuffer sbTemp = new StringBuffer();
byte[] btTypeInPasswd = this.md.digest(this.password.getBytes());
for (int i = 0; i < btTypeInPasswd.length; i++)
sbTemp = sbTemp.append(btTypeInPasswd[i]);
this.password = sbTemp.toString();
如果密码为 test,则 this.password 将包含如下字符串:-8774-113-27-52-79-101-9028768115-45-111-23-121-10447-69-45
我需要一个 PHP 函数来产生相同的结果,可以这样做吗?
我不能编辑 java .class 文件,因为这是现有应用程序的一部分,我希望通过访问它的现有数据库来协同工作。
这是我尝试过的。
$bytes = md5("test", true);
$bArray = array();
for ($x = 0; $x < strlen($bytes); $x++)
$bArray[$x] = ord(substr($bytes, $x, 1));
print "<pre>" . implode('-', $numbers) . "</pre>";
但是使用相同的密码“测试”它会产生:9-143-107-205-70-33-211-115-202-222-78-131-38-39-180-246 一点也不像 - 8774-113-27-52-79-101-9028768115-45-111-23-121-10447-69-45
谢谢。
【问题讨论】:
-
天哪,我犯了一个错误,没有发布我尝试过的内容,我只是假设每个人都会认为我已经尝试过诸如 ord、pack/unpack 等显而易见的东西……我的错。