缺少DBMS_CRYPTO包

San*_*nja 3 oracle plsql sh oracle11g dbms-crypto

我使用的是Oracle Database 11g企业版11.2.00.40版 - 64位生产版.我们有一个初始管理员用户,它将通过在安装期间插入表中而在数据库中创建.此操作需要使用SH1协议加密密码.根据Oracle文档,我应该能够使用企业版数据库附带的DBMS_CRYPTO包.但是我无法看到它.而不是DBMS_CRYPTO我可以看到DBMS_CRYPTO_TOOLKIT包.这个包没有很好的文档,但我能够发现它附带了Oracle 12c,甚至让我更加困惑.

我应该是aditionally安装DBMS_CRYPTO包还是使用DBMS_CRYPTO_TOOLKIT包?有没有人可以解释如何用DBMS_CRYPTO_TOOLKIT包加密传递?我没有SYS访问数据库,所以我想知道是否有一种方法来生成SH1密码而不使用足够简单的DBMS_CRYPTO?换句话说是否值得安装呢?

Cod*_*odo 9

Oracle文档说:

安全模型

Oracle数据库在SYS模式中安装此包.然后,您可以根据需要向现有用户和角色授予包访问权限.

请您的系统管理员授予对它的访问权限:

GRANT EXECUTE ON SYS.DBMS_CRYPTO TO USERXY;
Run Code Online (Sandbox Code Playgroud)

甚至:

GRANT EXECUTE ON SYS.DBMS_CRYPTO TO PUBLIC;
Run Code Online (Sandbox Code Playgroud)

我不明白Oracle试图通过不公开这个包来实现的目标.我不认为使用它可以造成任何伤害.