web-dev-qa-db-ja.com

PL / SQLにMD5Sum関数はありますか

Oracle SQLには、MD5関数などがありますか?私は次のようなことをしたいのですが...

select name, md5_sum( name ) from person;
9
Bob Kuhar

このタヒチリンク を参照してください。 MD5プロシージャと関数の下にと表示されます。これらのサブプログラムはMD5ハッシュのデータを生成します。 MD5アルゴリズムは、指定されたデータから128ビットの暗号化メッセージダイジェスト値を生成することにより、データの整合性を保証します。

また、DBMS_OBFUSCATION_TOOLKITは非推奨であり、DBMS_CRYPTOに置き換えることができる/すべきであることに注意してください。 このタヒチリンク を参照してください。

8

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.
12
Eddie Awad

12cでは、 STANDARD_HASH を使用できます。デフォルトで使用可能であり、PL/SQLオブジェクトやハードコードされた値を必要とせず、非推奨ではありません。

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

MD5
--------------------------------
456E4D024B4BB704169E21DEB895B0E2
11
Jon Heller