get_hash_val_10g.sql

来自「Oracle PLSQL for DBAs 源代码」· SQL 代码 · 共 27 行

SQL
27
字号
CREATE OR REPLACE FUNCTION get_hash_val (
   p_in_val      IN   VARCHAR2,
   p_algorithm   IN   VARCHAR2 := 'SH1'
)
   RETURN VARCHAR2
IS
   l_hash_val    RAW (4000);
   l_hash_algo   PLS_INTEGER;
   l_in          RAW (4000);
   l_ret         VARCHAR2 (4000);
BEGIN
   l_hash_algo :=
      CASE p_algorithm
         WHEN 'SH1'
            THEN dbms_crypto.hash_sh1
         WHEN 'MD4'
            THEN dbms_crypto.hash_md4
         WHEN 'MD5'
            THEN dbms_crypto.hash_md5
      END;
   l_in := utl_i18n.string_to_raw (p_in_val, 'AL32UTF8');
   l_hash_val := dbms_crypto.HASH (src => l_in, typ => l_hash_algo);
   l_ret := rawtohex(l_hash_val);
   RETURN l_ret;
END;
/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?