2012-12-14 70 views
0

我想在我的mysql数据库中存储加密密码。在java中加密和解密密码

我已经插入密码像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

@Vash如何在Java中使用jdbc存储数据库中的加密密码 – user1897014

+0

您需要自己做,JDBC中的任何内容都不会为您加密。 –

回答

0

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

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

下面是有关在Java中的密钥加密河豚这可能有助于搞清楚如何对其进行加密

Encryption with BlowFish in Java

+0

嗨,这是我更新的代码,如:http://pastie.org/5555969在这里我得到了以下错误:无法找到任何提供商支持密码什么是错误的CodeGo.net,我的code.please告诉我 – user1897014

0

你需要看的密码哈希和盐。看看this的帖子。

编辑:

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

+1

不过*不使用MD5。它被永远打破了。 – gustafc

+0

是的。最好避免使用SHA。 AES可能更安全。 – shazin

+0

更好,[bcrypt](http://codahale.com/how-to-safely-store-a-password/)。 – gustafc

0

不知道使用哪种方案来加密现有数据,没有办法告诉您如何实现兼容性。如果你可以重新开始,bcrypt is the way to go