缺少DBMS_CRYPTO包

时间:2016-01-15 09:24:31

标签: oracle plsql oracle11g sh 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?换句话说,安装它是否值得?

1 个答案:

答案 0 :(得分:8)

Oracle文档说:

  

安全模型

     

Oracle数据库在SYS中安装此软件包   架构。然后,您可以授予对现有用户和角色的包访问权限   根据需要。

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

GRANT EXECUTE ON SYS.DBMS_CRYPTO TO USERXY;

甚至:

GRANT EXECUTE ON SYS.DBMS_CRYPTO TO PUBLIC;

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