Java 数据库不可知数据库加密

Java 数据库不可知数据库加密,java,encryption,jdbc,java-8,Java,Encryption,Jdbc,Java 8,在jdbc中是否有一种与数据库无关的方法来加密数据库上的密码? 我们正在使用Java8 我知道,当您知道将使用哪个数据库时,您就可以这样做,但由于我们支持使用多个平台的客户,我们需要一种不可知的方式 编辑添加: 例如,我知道在mysql中,可以在sql语句中使用这些字符串函数。并且假设我没有找到不可知论的方法 Name Description AES_DECRYPT() Decrypt using AES AES_ENCRYPT() Encrypt using AE

在jdbc中是否有一种与数据库无关的方法来加密数据库上的密码? 我们正在使用Java8

我知道,当您知道将使用哪个数据库时,您就可以这样做,但由于我们支持使用多个平台的客户,我们需要一种不可知的方式

编辑添加: 例如,我知道在mysql中,可以在sql语句中使用这些字符串函数。并且假设我没有找到不可知论的方法

Name            Description
AES_DECRYPT()   Decrypt using AES
AES_ENCRYPT()   Encrypt using AES
DECODE()        Decodes a string encrypted using ENCODE()
DES_DECRYPT()   Decrypt a string
DES_ENCRYPT()   Encrypt a string
ENCODE()        Encode a string

使用行业标准的最佳实践,您可能希望将密码Base64编码的salt散列或十六进制字符串存储在普通的varchar/text列中。加密需要在Java端完成,但最终只需在表中存储一个字符串。这与数据库无关,因为这是一个基本的JDBC操作。

使用行业标准的最佳实践,您可能希望将密码Base64编码的salt散列存储在普通的varchar/text列中,或者将其存储为十六进制字符串。加密需要在Java端完成,但最终只需在表中存储一个字符串。这应该是数据库不可知的,因为这是一个基本的JDBC操作。

在为我的编辑寻找示例后,我在上一篇文章中找到了这个答案,我同意它

当然,如果您编写自己的例程,假设您存储 输入数据库或数据库有权访问的某个地方,您 在安全方面做得不多。发送未加密的密码是不好的 通过网络,但通常存储未加密的数据要糟糕得多 数据库中的密码(如果存在密码,则为加密密码) 数据库中有权访问要解密的密钥的decrypt方法 数据)。从数据库中窃取数据通常要容易得多 而不是嗅探通过网络发送的数据,以便 查找密码


在为我的编辑寻找示例后,我在上一篇文章中找到了这个答案,我同意它

当然,如果您编写自己的例程,假设您存储 输入数据库或数据库有权访问的某个地方,您 在安全方面做得不多。发送未加密的密码是不好的 通过网络,但通常存储未加密的数据要糟糕得多 数据库中的密码(如果存在密码,则为加密密码) 数据库中有权访问要解密的密钥的decrypt方法 数据)。从数据库中窃取数据通常要容易得多 而不是嗅探通过网络发送的数据,以便 查找密码


您是说一列中包含加密数据吗?是的,我们希望在表中存储加密的密码。从未!你不想加密密码,你想散列密码,你应该在你的应用程序中,而不是在数据库中这样做。你说的是一个包含加密数据的列吗?是的,我们想在表中存储加密的密码。从未!你不想加密密码,你想散列它们,你应该在你的应用程序中,而不是在数据库中这样做。