我们的数据库团队希望从 PUBLIC 撤销对 DBMS_RANDOM 的执行以解决安全问题。如果你用谷歌搜索它,一些安全专家会认为这个包很危险,但没有说明原因。Ingram 和 Shaul 的《实用 Oracle 安全性》一书指出
...在加密密钥生成中使用该函数的环境中授予对 DBMS_RANDOM 的 PUBLIC 访问权限可能会导致加密数据受到损害...
甲骨文文档说
DBMS_RANDOM 不适用于加密。
... 和 ...
DBMS_CRYPTO.RANDOMBYTES ... 返回一个 RAW 值,其中包含加密安全的伪随机字节序列,可用于生成加密密钥的随机材料。
因此,DMBS_RANDOM 似乎可以很好地生成伪随机数(只要您不使用它伪造密码)。为什么这对 PUBLIC 来说太危险了?
编辑:刚找到一个新的来源,声称
DBMS_RANDOM:允许加密数据而不需要安全管理加密密钥。
这也是废话,不是吗?