Java アプリのインストーラーを作成したいと考えており、それを実行できる優れたアプリをいくつか見つけました。問題は、Jasypt を使用して、プロパティ ファイルで使用されるパスワードを暗号化していることです。現在、ユーザーは Jasypt コマンド ラインを使用してパスワードを暗号化し、暗号化されたパスワードをプロパティ ファイルに入力する必要があります。次に、暗号化キーを Java に含める必要があります。これは、編集と再コンパイルを意味します。明らかに、これを行う簡単な方法があります。最終的には、パスワードを要求し、暗号化し、キーを保存してから、アプリをインストールするインストーラーが必要です。私は Java プログラマーではありません :( どちらかというとハッカーです :) ありがとうございます!
質問する
192 次
1 に答える
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
てファイルを暗号化します。
ファイルを開くときにパスワードを要求し、再度暗号化してファイルを開こうとします。パスワードが正しければ、通過するはずです。
于 2012-10-19T19:45:30.327 に答える