при использовании форм оракула для генерации хэша md5, я получаю результат, отличный от результата, данного tomcat.Различия между Oracle и tomcat md5 хешем?
при использовании кот переваривать, я получаю:
C:\apache-tomcat-6.0.26\bin>digest -a md5 mypass
mypass:a029d0df84eb5549c641e04a9ef389e5
при использовании оракула форм, я получаю:
a029d0dfbfeb5549c641e04abff3bfe5
это код:
Declare
v_checksum varchar2(32);
v_hex_value varchar2(32);
begin
v_checksum := SYS.DBMS_OBFUSCATION_TOOLKIT.MD5(input_string => 'mypass');
SELECT LOWER(RAWTOHEX(v_checksum))
INTO v_hex_value
FROM dual;
:res := v_hex_value;
end;
Почему они не дают тот же результат? что-то не так с моим кодом?
FWIW мой тест на C# согласующуюся с котом. Чтобы подчеркнуть разницу, Oracle заменила три байта (0x84, 9e, 89) с тем же значением (0xbf). На первый взгляд в вашем хеше нет байтов в диапазоне 0x80-0x9f. – Rup
В любом случае вы можете проследить 'v_checksum'? Если это не так, проблема возникает в вызове MD5, но стоит убедиться, что ошибка была вызвана одним из шагов преобразования каким-то образом. – Rup