gpt4 book ai didi

php - 让 Oracle 的 MD5 与 PHP 的 MD5 相匹配

转载 作者:可可西里 更新时间:2023-10-31 22:07:41 25 4
gpt4 key购买 nike

我正在尝试将 PHP 生成的 MD5 校验和与 Oracle 10g 生成的校验和进行比较。然而,我似乎是在将苹果与橙子进行比较。

这是我为测试比较所做的工作:

//md5 tests

//php md5
print md5('testingthemd5function');

print '<br/><br/>';

//oracle md5
$md5query = "select md5hash('testingthemd5function') from dual";

$stid = oci_parse($conn, $md5query);
if (!$stid) {
$e = oci_error($conn);
print htmlentities($e['message']);
exit;
}

$r = oci_execute($stid, OCI_DEFAULT);
if (!$r) {
$e = oci_error($stid);
echo htmlentities($e['message']);
exit;
}

$row = oci_fetch_row($stid);
print $row[0];

Oracle 中的 md5 函数(在上面的查询中看到)使用“dbms_obfuscation_toolkit.md5”包(?),定义如下:

CREATE OR REPLACE FUNCTION PORTAL.md5hash (v_input_string in varchar2) return varchar2     
is
v_checksum varchar2(20);
begin
v_checksum := dbms_obfuscation_toolkit.md5 (input_string => v_input_string);
return v_checksum;
end;

我的 PHP 页面上出现的是:

29dbb90ea99a397b946518c84f45e016

)Û¹©š9{”eÈOEà

谁能帮我让两者匹配?

最佳答案

它返回原始字节,您需要将其转换为十六进制。

$x = unpack("H*", $row[0]); 
echo $x[1];

关于php - 让 Oracle 的 MD5 与 PHP 的 MD5 相匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1228685/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com