0

我想将加密的密码存储在我的 mysql 数据库中。

我已经插入了像 ari 这样的密码意味着必须保存像 B-dd2c1cd0250859d32754fdd85ffc0531 这样的密码。

但我必须插入数据(ari)意味着 ari 显示在我的数据库中。我怎样才能加密密码并像上面的格式一样保存密码。

例如:ari 保存在数据库中,格式为 B-dd2c1cd0250859d32754fdd85ffc0531。我该怎么做。请帮帮我。

我写了代码:

public class Insert {

   public String insertData(String userName,String userPassword){

   try{

   Class.forName("com.mysql.jdbc.Driver");
  Connection con =  DriverManager.getConnection("jdbc:mysql://server:3306/android","XXXX","XXX");
   PreparedStatement statement =  con.prepareStatement("INSERT INTO xcart_customers(login,password) VALUES ('"+userName+"','"+userPassword+"');");
       int result = statement.executeUpdate();
       }

          catch(Exception exc){
            System.out.println(exc.getMessage());
          }

          return "Insertion successfull!!";
        }}

这是我的 Demo.java 类:

public class Demo {
public static void main(String[] args){
    Insert obj = new Insert();
    System.out.println(obj.insertData("krishna", "ari"));
   }
  }
4

3 回答 3

0

您需要查看密码哈希和加盐。看看这个帖子。

编辑:

记住散列是一种方法!所以你不能指望将散列值转换回明文(在本例中为 ari)。您可以做的是,当登录工作时,您可以检查用户输入的值是否等于数据库值。

于 2012-12-14T11:42:35.167 回答
0

在不知道使用哪种方案加密现有数据的情况下,无法判断如何实现兼容性。如果您可以重新开始,bcrypt 是您的最佳选择

于 2012-12-14T11:47:28.373 回答
0

查看 sql 查询INSERT INTO xcart_customers(login,password),我猜您正在尝试加密 X-CART 的密码。

X-CART 使用基于 Blowfish 密钥的加密。您可以从 config.php -file 中找到您的密钥。

这是一个已经回答的关于用 java 中的密钥加密河豚的问题,这可能有助于弄清楚如何加密它

在 Java 中使用 BlowFish 进行加密

于 2012-12-14T11:49:36.973 回答