0

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

4

1 に答える 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 に答える