Database 散列oracle列的最快方法

Database 散列oracle列的最快方法,database,oracle,hash,Database,Oracle,Hash,这是我第一次使用oracle db。我在OracleDB中有一个整数列,我想将它们散列成其他整数。最快的方法是什么?该行包含数百万行 我想对它进行散列,这样当将数据交给其他人时,他们将无法反转该列 你想要一个 Oracle有一个在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 早期的Orac

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

我想对它进行散列,这样当将数据交给其他人时,他们将无法反转该列

你想要一个

Oracle有一个在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函数

使用其中一款具有您所需的安全性、性能等功能的产品

最快的方法是什么

您可以选择更快或更安全的算法,您应该选择能够满足性能要求的最安全的算法,而不仅仅是选择最快和最不安全的算法

你还问:


所以你建议我做ora_杂烩


不,这正是散列算法ora_hash使用的,因为它不在中,但没有提到它是一个加密/单向散列函数。

这取决于您要使用哪个散列;如果你还不知道,这将取决于你为什么要对它进行散列,以及散列的用途。为了避免冲突,您需要/想要走多远。最快的速度只能通过测试来确认,但对于内置哈希函数,ora_hashI还不知道要使用什么哈希。我想对它进行散列,这样当将数据交给其他人时,他们将无法反转该列@AlexPooleSo你建议我做ora_hash@Andrew?如果你只是想隐藏真实的值,为什么不发送它,或者如果必须提供一些东西,也许用一个随机数替换它-这会让你更好地控制,比如,匹配原始的大小以使其更具代表性?两个问题:a如果两行的输入编号相同,那么这两行的输出编号也将相同。也许你也需要隐藏这种关系。b如果输入的数字很容易猜到,而整数很可能是,至少在机械上是这样,除非它们很大,否则你需要一种秘密的盐来防止暴力。如果可能的话,就不要给出列。