Есть ли функция суммы MD5 в PL / SQL

в Oracle SQL есть ли функция MD5 или что-то доступное для меня? Я бы хотел сделать что-то подобное...

select name, md5_sum( name ) from person;

4 ответов


посмотреть это Таити ссылке. Под MD5 процедуры и функции он говорит:эти подпрограммы генерируют MD5 хэши данных. Алгоритм MD5 обеспечивает целостность данных, генерируя 128-битное значение дайджеста криптографического сообщения из заданных данных.

также обратите внимание, что DBMS_OBFUSCATION_TOOLKIT устарел и может / должен быть заменен на DBMS_CRYPTO см. это Таити ссылке


вы можете проверить DBMS_OBFUSCATION_TOOLKIT.MD5 процедура.

вот пример:

     SQL> column md5_val FORMAT A40
     SQL> SELECT DBMS_OBFUSCATION_TOOLKIT.md5 (input => UTL_RAW.cast_to_raw('Eddie')) md5_val
       2    FROM DUAL;
     MD5_VAL
     ----------------------------------------
     E5F6C83E6E97C74FC9E9760FC8972AED

     1 row selected.

в 12C, вы можете использовать STANDARD_HASH. Он доступен по умолчанию, не требует каких-либо объектов PL/SQL или жестко закодированных значений и не устарел.

SQL> select standard_hash('Finally, an easy way to do this.', 'MD5') md5
  2  from dual;

MD5
--------------------------------
456E4D024B4BB704169E21DEB895B0E2

Не думаю, что это происходит с ним прямо из коробки. вам нужно определить свой собственный.