Java AES加密整个字符串

如何使用AES加密整个字符串。我下面的代码仅加密最多识别的第一个空格:(。我该如何解决这个问题?谢谢

SecretKeySpec key = new SecretKeySpec(salt.getBytes(), "AES");

Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding", "SunJCE");

cipher.init(Cipher.ENCRYPT_MODE, key);

String result = new String(cipher.doFinal(message.getBytes()));

System.out.println("Encrypted:" + result);

OMG,我不愿意相信这一点,但我怎么可能会这样想:(因为我的扫描仪接下来是nextLine而不是nextLine,所以让我整日感到困扰是多么令人困扰,直到现在我才真正想到要进行检查。问题已解决:)谢谢大家

回答:

我没有看到任何你的代码错误,除了尝试打印任意byte[]使用new String(byte[])。尝试以下尺寸:

public static byte[] encrypt(String message) throws Exception

{

String salt = "1111111111111111";

SecretKeySpec key = new SecretKeySpec(salt.getBytes(), "AES");

Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5Padding", "SunJCE");

cipher.init(Cipher.ENCRYPT_MODE, key);

return cipher.doFinal(message.getBytes());

}

public static void main (String[] args) throws Exception

{

String hello = Arrays.toString(encrypt("hello"));

System.out.println("hello:" + hello);

String helloWorld = Arrays.toString(encrypt("hello world"));

System.out.println("hello world:" + helloWorld);

}

哪些打印:

hello:[115, -73, -46, -121, 36, -106, -99, 100, 103, -24, -40, -38, 113, -8, 40, -57]

hello world:[5, 88, -31, 115, 4, 48, -75, 44, 83, 21, 105, -67, 78, -53, -13, -28]

我想我们都可以同意那是两个不同的字节数组。

以上是 Java AES加密整个字符串 的全部内容, 来源链接: utcz.com/qa/420468.html

回到顶部