【发布时间】:2026-02-02 12:25:01
【问题描述】:
我有这段代码,我试图在 java 中编码和解码字符串,但出现编译错误,这是代码中注释的错误代码:
public static String encrypt(String plainText, SecretKey secretKey)
throws Exception {
byte[] plainTextByte = plainText.getBytes();
cipher.init(Cipher.ENCRYPT_MODE, secretKey);
byte[] encryptedByte = cipher.doFinal(plainTextByte);
Encoder encoder = Base64.getEncoder(); //ERROR "cannot resolve method"
String encryptedText = encoder.encodeToString(encryptedByte);
return encryptedText;
}
public static String decrypt(String encryptedText, SecretKey secretKey)
throws Exception {
Decoder decoder = Base64.getDecoder(); //ERROR "cannot resolve method"
byte[] encryptedTextByte = (byte[]) decoder.decode(encryptedText);
cipher.init(Cipher.DECRYPT_MODE, secretKey);
byte[] decryptedByte = cipher.doFinal(encryptedTextByte);
String decryptedText = new String(decryptedByte);
return decryptedText;
}
提前感谢您的帮助
【问题讨论】:
-
你有导入Base64类吗?
-
如果此应用有时在非 UTF-8 平台(如 Windows)上运行,请使用
getBytes("UTF-8")。
标签: java android string encode