1

以下は、暗号化は機能しますが、Java でテキストを暗号化する方法の例です。暗号化のレベル、つまり 128、256、512 などを変更する方法がわかりません。

コード:

byte keySelectedByUser[] = selectedKey.getBytes();
SecretKeySpec secretKey = new SecretKeySpec(keySelectedByUser, "AES");

Cipher cipher;

cipher = Cipher.getInstance("AES/CBC/PKCS7PADDING");

cipher.init(Cipher.ENCRYPT_MODE, secretKey);

byte[] encrypted = cipher.doFinal(stringToEncrypt.getBytes());

Javaでこれを行うにはどうすればよいですか?

4

2 に答える 2

2

を使用しSecretKeyます。例えば:

final int KEY_LENGTH = 256;
final SecretKeyFactory factory = SecretKeyFactory.getInstance("YourPreferredAlgorithm");
final SecretKey key = factory.generateSecret(new PBEKeySpec(pass, salt, iterations, KEY_LENGTH));

次に、 を使用してSecretKeyを取得しますSecretKeySpec

final SecretKeySpec keySpec = new SecretKeySpec(key.getEncoded(), "AES");
于 2015-12-07T12:41:33.997 に答える