java中的加密和解密密码

时间:2012-12-14 11:32:34

标签: java mysql jdbc encryption

我想在我的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"));
   }
  }

3 个答案:

答案 0 :(得分:0)

您需要查看密码哈希和盐析。看看this帖子。

修改

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

答案 1 :(得分:0)

在不知道使用哪种方案加密现有数据的情况下,没有办法说明如何实现兼容性。如果你可以重新开始,bcrypt is the way to go

答案 2 :(得分:0)

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

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

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

Encryption with BlowFish in Java