Oracle的ORA_HASH是“随机"的吗? [英] Is Oracle's ORA_HASH "random"?
问题描述
Ora_hash具有确定性,因为保持输入和种子恒定将产生确定的输出.
Ora_hash is deterministic in that the keeping the input and seed constant will produce a definite output.
但是,对于任何种子(包括默认值),ora_hash的输出必然具有以下属性:
But, for any seed (including the default), will the output of an ora_hash necessarily have the property that:
没有一种方法可以用来预测ORA_HASH的成功率要高于纯随机猜测结果的水平吗?"
"No method exists that can be used to predict what the result of an ORA_HASH will be with any level of success higher than purely random guessing?"
推荐答案
可能不是,不是. ORA_HASH
并非设计为特别健壮的哈希算法-当然,您不会将其用作加密库的一部分,例如,您将使用DBMS_CRYPTO.HASH
选择适当的算法和选项. ORA_HASH
旨在有效地将项目分发到存储桶中(即对表进行哈希分区时会发生的情况),并且是一种相对轻量级的哈希算法.它并非旨在免受攻击.
Probably not, no. ORA_HASH
is not designed as a particularly robust hashing algorithm-- it's certainly not something you would use as part of a cryptography library, for example, you'd use the DBMS_CRYPTO.HASH
choosing an appropriate algorithm and options. ORA_HASH
is designed to distribute items into buckets effectively (i.e. what happens when you hash partition a table) and to be a relatively lightweight hashing algorithm. It is not designed to be secure from attack.
这篇关于Oracle的ORA_HASH是“随机"的吗?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!