哈希oracle列的最快方法

问题描述 投票:-1回答:1

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

database oracle hash
1个回答
1
投票

我想哈希它,以便在将数据交给其他人时,他们将无法反转该列。

你想要一个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但没有提到它是加密/单向散列函数。

© www.soinside.com 2019 - 2024. All rights reserved.