Ora_hash是确定性的,因为保持输入和种子不变将产生确定的输出.
但是,对于任何种子(包括默认值),ora_hash的输出必须具有以下属性:
“没有任何方法可以用来预测ORA_HASH的结果会比任何级别的成功高于纯随机猜测吗?”
解决方法
可能不是,不. ORA_HASH并非设计为特别强大的散列算法 – 它肯定不会用作加密库的一部分,例如,您可以使用DBMS_CRYPTO.HASH选择合适的算法和选项. ORA_HASH旨在有效地将项目分配到存储桶中(即,当您对表进行散列分区时会发生什么)并且是一种相对轻量级的散列算法.它不是为防止攻击而设计的.