我使用的是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?换句话说,安装它是否值得?
答案 0 :(得分:8)
Oracle文档说:
安全模型
Oracle数据库在SYS中安装此软件包 架构。然后,您可以授予对现有用户和角色的包访问权限 根据需要。
要求您的系统管理员授予对它的访问权限:
GRANT EXECUTE ON SYS.DBMS_CRYPTO TO USERXY;
甚至:
GRANT EXECUTE ON SYS.DBMS_CRYPTO TO PUBLIC;
我不明白Oracle试图通过不公开这个包来实现的目标。我认为使用它不会造成任何伤害。