将散列字符串 (SHA512) 从一个 Oracle 数据库迁移到另一个数据库?
Migrate hashed string (SHA512) from one Oracle DB to another?
请问是否可以将散列字符串 (SHA-512) 从一个 Oracle 数据库迁移/克隆到另一个数据库?如果不是那么大公司如何迁移他们的用户帐户?
谢谢,
May I ask is it possible to migrate / clone the hashed string (SHA-512) from one Oracle database to another?
是的,只需将数据从一个数据库复制到另一个数据库即可。然后,当你想将一个值与散列进行比较时,只需将该值通过相同的散列算法并比较散列即可。
你可以这样做:
SELECT STANDARD_HASH( 'my data', 'SHA512' ) FROM DUAL;
在两个不同的数据库上它会得出相同的结果。
| STANDARD_HASH('MYDATA','SHA512') |
| :--------------------------------------------------------------------------------------------------------------------------------- |
| 0x6E5F36E9CEE5CBA6AD938977C98E12F3A61FC4D944753AD130116B026B8AB2C895878910FEA3B47DBA6D760A20D0B23233980A8DAB13F04F262C53F25222B416 |
db<>fiddle here
如果在散列之前对值进行了加盐处理,那么您将需要确保也复制了加盐值,并以完全相同的方式在两个系统中应用加盐值;如果你能做到这一点,那么生成的哈希值将是等价的。
请问是否可以将散列字符串 (SHA-512) 从一个 Oracle 数据库迁移/克隆到另一个数据库?如果不是那么大公司如何迁移他们的用户帐户?
谢谢,
May I ask is it possible to migrate / clone the hashed string (SHA-512) from one Oracle database to another?
是的,只需将数据从一个数据库复制到另一个数据库即可。然后,当你想将一个值与散列进行比较时,只需将该值通过相同的散列算法并比较散列即可。
你可以这样做:
SELECT STANDARD_HASH( 'my data', 'SHA512' ) FROM DUAL;
在两个不同的数据库上它会得出相同的结果。
| STANDARD_HASH('MYDATA','SHA512') | | :--------------------------------------------------------------------------------------------------------------------------------- | | 0x6E5F36E9CEE5CBA6AD938977C98E12F3A61FC4D944753AD130116B026B8AB2C895878910FEA3B47DBA6D760A20D0B23233980A8DAB13F04F262C53F25222B416 |
db<>fiddle here
如果在散列之前对值进行了加盐处理,那么您将需要确保也复制了加盐值,并以完全相同的方式在两个系统中应用加盐值;如果你能做到这一点,那么生成的哈希值将是等价的。