这是我第一次使用oracle db。我在oracle db中有一个整数列,我想将它们哈希为其他整数。最快的方法是什么?其中包含数百万行。
答案 0 :(得分:1)
我想对它进行哈希处理,以便在将数据传递给其他人时,他们将无法反转该列。
您想要一个one-way (cryptographic) hash function。
Oracle有一个DBMS_CRYPTO
package,在Oracle 12.1中它支持:
密码哈希算法:MD5,SHA-1,SHA-2(SHA-256,SHA-384,SHA-512),MD4
键控哈希(MAC)算法:HMAC_MD5,HMAC_SH1,HMAC_SH256,HMAC_SH384,HMAC_SH512
(早期的Oracle版本支持较少的算法-但您始终可以通过存储在数据库中的自定义Java函数来add support for more secure algorithms。)
使用具有所需功能(安全性,性能等)的其中一种。
最快的方法是什么?
您可以拥有更快或更安全的解决方案,并且应该选择能够满足性能要求的最安全的算法(而不只是选择最快和最不安全的算法)。
您还问过:
所以你建议我做
ora_hash
不,正是difficult to know所使用的哈希算法ora_hash
,因为它不在official documentation中,但是没有提及它是一种加密/单向哈希函数。