Java Installer用于加密密码

时间:2012-10-19 19:17:47

标签: java installer jasypt

我想为Java应用程序创建一个安装程序,并找到了一些很棒的应用程序。问题是我使用Jasypt加密属性文件中使用的密码。目前,用户必须使用Jasypt命令行加密其密码,然后在属性文件中输入加密密码。然后,他们必须在Java中包含加密密钥,这意味着编辑和重新编译。显然,有一种更简单的方法可以做到这一点。我最终希望有一个安装程序,要求输入密码,加密,存储密钥,然后安装应用程序。我不是Java程序员:(更多的是黑客。:)谢谢!

1 个答案:

答案 0 :(得分:1)

使用Cipher类加密/解密密码。

在保存文件之前,请使用ENCRYPT_MODE加密:

String passwordToEncrypt = ....//user entered
byte[] passwordToEncryptBytes = passwordToEncrypt.getBytes();

KeyGenerator keyGen = KeyGenerator.getInstance("AES");
SecretKey mySecretKey = keyGen.generateKey();

Cipher cipher = Cipher.getInstance("AES/CBC/PKCS5Padding");
cipher.init(Cipher.ENCRYPT_MODE, mySecretKey);
IvParameterSpec ivParameter = 
                    cipher.getParameters().getParameterSpec(IvParameterSpec.class);
byte[] encryptedPasswordData = cipher.doFinal(passwordToEncryptBytes);

使用encryptedPasswordData加密文件。

打开文件时,提示输入密码,再次加密并尝试打开文件。如果是正确的密码,则应该通过。