Estoy tratando de comparar una suma de comprobación MD5 generada por PHP con una generada por Oracle 10g. Sin embargo, parece que estoy comparando manzanas con naranjas.Conseguir que el MD5 de Oracle coincida con el MD5 de PHP
Aquí es lo que hice para poner a prueba la comparación:
//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];
La función md5 (visto en la consulta anterior) en Oracle utiliza el paquete 'dbms_obfuscation_toolkit.md5' y se define como esto (?):
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;
lo que sale en mi página PHP es:
29dbb90ea99a397b946518c84f45e016
)Û¹©š9{”eÈOEà
¿Puede alguien ayudarme en get Ting los dos para que coincida?
gracias, eso funcionó como un amuleto – Zenshai