仅在java中使用密码加密以字符串字符加密

时间:2014-11-25 10:07:10

标签: java encryption

我有一段代码在加密时工作正常,加密有效,但我不喜欢加密字符串中使用的字符,因为它必须在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友好的:-(,有什么建议吗?

1 个答案:

答案 0 :(得分:5)

首先使用普通的AES加密,然后对结果进行base64编码。在另一端,他们​​必须base64解码然后解密。如果您使用的是Java 8,请使用内置的base64 codec。如果是在Java 7或更早版本,请使用apache commons codec