散列oracle列的最快方法

时间:2018-09-19 09:08:50

标签: database oracle hash

这是我第一次使用oracle db。我在oracle db中有一个整数列,我想将它们哈希为其他整数。最快的方法是什么?其中包含数百万行。

1 个答案:

答案 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中,但是没有提及它是一种加密/单向哈希函数。