加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 湛江站长网 (https://www.0759zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长百科 > 正文

database – 如何在oracle中使用DBMS_CRYPTO.encrypt函数

发布时间:2021-02-19 16:34:55 所属栏目:站长百科 来源:网络整理
导读:我想加密数据库中的密码列,我正在尝试使用DBMS_CRYPTO包中的加密函数(已经从sys帐户给当前用户执行访问权限),但是我收到以下错误. 请给我一些如何使用此功能的示例: select DBMS_CRYPTO.encrypt('12345',dbms_crypto.DES_CBC_PKCS5,'A1') from dual; 错误

我想加密数据库中的密码列,我正在尝试使用DBMS_CRYPTO包中的加密函数(已经从sys帐户给当前用户执行访问权限),但是我收到以下错误.
请给我一些如何使用此功能的示例:

select DBMS_CRYPTO.encrypt('12345',dbms_crypto.DES_CBC_PKCS5,'A1') from dual;

错误:

ORA-06553: PLS-221: ‘DES_CBC_PKCS5’ is not a procedure or is undefined
06553. 00000 – “PLS-%s: %s”

解决方法

常量dbms_crypto.DES_CBC_PKCS5仅可在PL / SQL上引用 – 而不是来自SQL.

您必须在SELECT语句中将其替换为文字值.

要获取值,请使用PL / SQL块

begin
   dbms_output.put_line(dbms_crypto.DES_CBC_PKCS5);
 end;
 /

.

4353

您还必须使用更长的密钥

select DBMS_CRYPTO.encrypt(UTL_RAW.CAST_TO_RAW ('ABCDEFGH12345'),4353 /* = dbms_crypto.DES_CBC_PKCS5 */,'A1A2A3A4A5A6CAFE') from dual;

 9320CBCBD25E8721BD04990A0EAEAF00

(编辑:PHP编程网 - 湛江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!