我有一段代码在加密时工作正常,加密有效,但我不喜欢加密字符串中使用的字符,因为它必须在URL中传递,我更喜欢的字符是az,AZ和0 -9,这可能吗?
String key = enc_key;
// Create key and cipher
Key aesKey = new SecretKeySpec(key.getBytes(), "AES");
Cipher cipher = Cipher.getInstance("AES");
// encrypt the text
cipher.init(Cipher.ENCRYPT_MODE, aesKey);
byte[] encrypted = cipher.doFinal(text.getBytes());
System.out.println(new String(encrypted));
加密字符串如下所示 的ò'Ê>‡6dövNé÷小号 这不是URL友好的:-(,有什么建议吗?
答案 0 :(得分:5)
首先使用普通的AES加密,然后对结果进行base64编码。在另一端,他们必须base64解码然后解密。如果您使用的是Java 8,请使用内置的base64 codec。如果是在Java 7或更早版本,请使用apache commons codec。