Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JDBC中将passwordhash转换为密码_Java_Jdbc - Fatal编程技术网

Java 在JDBC中将passwordhash转换为密码

Java 在JDBC中将passwordhash转换为密码,java,jdbc,Java,Jdbc,我正在查询我的数据库以获取密码。但是我得到了密码哈希。有没有办法把它转换成字符串 SELECT passwordhash FROM userTable WHERE userID = 21600 我没有任何带有密码的字段 请让我知道 谢谢。如果有办法的话,那就意味着使用了一个坏掉的散列算法。换句话说,不,没有办法从散列返回到原始密码 关键是使用相同的算法从输入的密码生成哈希,并将其与数据库中的哈希进行比较。这样,您可以通过将密码存储在数据库中进行身份验证,而不会影响密码的安全性 我正在查询我的数

我正在查询我的数据库以获取密码。但是我得到了密码哈希。有没有办法把它转换成字符串

SELECT passwordhash FROM userTable WHERE userID = 21600
我没有任何带有密码的字段

请让我知道


谢谢。

如果有办法的话,那就意味着使用了一个坏掉的散列算法。换句话说,不,没有办法从散列返回到原始密码

关键是使用相同的算法从输入的密码生成哈希,并将其与数据库中的哈希进行比较。这样,您可以通过将密码存储在数据库中进行身份验证,而不会影响密码的安全性

我正在查询我的数据库以获取密码

那么要么你会失败,要么你的系统不安全。您不应该以可逆形式存储密码

但是我得到了密码哈希

好!!这表明该系统设计安全

存储密码散列的全部目的是避免以任何可以反转的形式存储密码本身

如果有人入侵了你的系统并得到了你所有的私钥,我不想让他们发现我的密码。如果他们只有散列,并且散列算法选择得当,那么他们就不能在合理的时间内从散列返回原始密码

同样,它也会阻止任何信任您的系统的人知道密码。请记住,人们不幸地重复使用密码。公司X不希望公司Y的某个人作为其用户之一登录,因为密码存储不安全。不幸的是,有太多的地方确实存储了明文密码,甚至通过电子邮件发送了明文密码——但这应该被劝阻


从根本上说,你应该后退一步——想想你为什么要尝试获取密码,以及你可以采取什么不需要密码的替代方法。更改系统以便获取用户的明文密码不应被视为可行的选择。

如果它确实是一个哈希,那么该算法是单向的,您无法获取原始密码,除非使用或某种暴力工具。

您使用哪种哈希?MD5?