2012-01-11 12 views
8

Oracle SQL에서 MD5 함수 나 저에게 유용한 것이 있습니까? 나는 같은 것을하고 싶다 ...PL/SQL에 MD5 Sum 함수가 있습니까

select name, md5_sum(name) from person; 
+0

참조 http://stackoverflow.com/q/1749753/272735 답변은 기본적으로 해시 알고리즘이 다른 경우에도 마찬가지입니다 (MD5와 SHA1). – user272735

답변

8

this Tahiti Link을 참조하십시오. MD5 절차 및 기능이 서브 프로그램은 데이터의 MD5 해시를 생성합니다. MD5 알고리즘은 주어진 데이터로부터 128 비트 암호화 메시지 다이제스트 값을 생성함으로써 데이터 무결성을 보장합니다.

또한, DBMS_OBFUSCATION_TOOLKIT는 사용되지 않으며/DBMS_CRYPTO로 교체해야 할 수있는,주의 this Tahiti Link

+0

링크를 가져 주셔서 감사합니다 ... 이제는 DBA에게이 정보를 제공해야합니다. 아 ... 적어도 OOB 기능이 아닌 것은 존재합니다. 감사합니다 –

-4

그것은 즉시 상자에 포함되어 있다고 생각하지 않는다. 당신은 자신을 정의해야합니다.

+5

당신이 충분한 연구를했다고 생각하지 않는다면 ... –

12

당신은 DBMS_OBFUSCATION_TOOLKIT.MD5 절차를 확인 할 수 있습니다 참조하십시오. 12C에서

 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. 
+0

'DBMS_OBFUSCATION_TOOLKIT'은 적어도 11g R2 이후로 더 이상 사용되지 않습니다. 대신에'DBMS_CRYPTO'를 사용하십시오. (또는 12c의'STANDARD_HASH'). – user272735

9

당신이 STANDARD_HASH를 사용할 수 있습니다 여기에

은 예입니다. 기본적으로 사용 가능하며 PL/SQL 객체 또는 하드 코딩 된 값이 필요하지 않으며 더 이상 사용되지 않습니다.

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

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