这是我第一次使用oracle db。我在oracle db中有一个整数列,我想将它们哈希到其他整数。最快的方法是什么?包含数百万行。
我想哈希它,以便在将数据交给其他人时,他们将无法反转该列。
你想要一个one-way (cryptographic) hash function。
Oracle有一个在Oracle 12.1中支持的DBMS_CRYPTO
package:
加密哈希算法: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但没有提到它是加密/单向散列函数。