Я хотел бы создать установщик для приложения Java и нашел несколько отличных приложений, которые это делают. Проблема в том, что я использую Jasypt для шифрования пароля, используемого в файле свойств. В настоящее время пользователь должен использовать командную строку Jasypt для шифрования своего пароля, а затем ввести зашифрованный пароль в файле свойств. Затем они должны включить ключ шифрования в Java, что означает редактирование и повторную компиляцию. Очевидно, есть более простой способ сделать это. В конечном итоге я хотел бы иметь установщик, который запрашивает пароль, шифрует его, сохраняет ключ, а затем устанавливает приложение. Я не Java-программист :( скорее хакер. :) Спасибо!
Установщик Java для зашифрованного пароля
Ответы (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
для шифрования файла.
При открытии файла запросите пароль, снова зашифруйте и попробуйте открыть файл. Если правильный пароль, он должен пройти.
person
Yogendra Singh
schedule
19.10.2012