【DM版本】:DM8 03134283968-20230103-178822-20033
【操作系统】:CentOS 7.9
【CPU】:arm64
【问题描述】*:https://eco.dameng.com/document/dm/zh-cn/pm/dbms_crypto-package.html#41.3%20%E4%B8%BE%E4%BE%8B%E8%AF%B4%E6%98%8E
这个文档下的加密函数
CREATE OR REPLACE FUNCTION ENCRYPT_FUNCTION (V_STR VARCHAR2, V_KEY VARCHAR2)
RETURN VARCHAR2
AS
V_KEY_RAW RAW (24);
V_STR_RAW RAW (2000);
V_RETURN_STR VARCHAR2 (2000);
V_TYPE PLS_INTEGER;
BEGIN
V_KEY_RAW := UTL_I18N.STRING_TO_RAW (V_KEY, 'GBK');
V_STR_RAW := UTL_I18N.STRING_TO_RAW (V_STR, 'GBK');
V_TYPE :=
DBMS_CRYPTO.ENCRYPT_DES
+ DBMS_CRYPTO.CHAIN_ECB
+ DBMS_CRYPTO.PAD_PKCS5;
V_STR_RAW :=
DBMS_CRYPTO.ENCRYPT (SRC => V_STR_RAW, TYP => V_TYPE, KEY => V_KEY_RAW);
V_RETURN_STR := RAWTOHEX (V_STR_RAW);
RETURN V_RETURN_STR;
END;
/
报无法解析的成员访问表达式[SYS.DBMS_CRYPTO.ENCRYPT_DES]的错误,使用的是SYSDBA用户,不知道是没权限还是其他什么问题
可以试一下 DBMS_OBFUSCATION_TOOLKIT包
参考安装数据库自带的《DM8系统包使用手册.pdf》手册中有用法说明,利用这个包,用户可以对数据进行 DES、DES3 加密,或者对数据进行 MD5 散列。