我目前有一个这样的字段注释:
ColumnTransformer(
read="AES_DECRYPT(C_first_name, 'yourkey')",
write="AES_ENCRYPT(?, 'yourkey')")
public String getFirstName() {
return firstName;
}
Run Code Online (Sandbox Code Playgroud)
这适用于Mysql数据库,但我需要这个配置是可选的,因为我们的应用程序可以使用另一个数据库(HsqlDB),具体取决于启动参数.所以我需要的是只有在使用特定的启动参数时才使用ColumnTransformer(并且没有用于HsqlDB的ColumnTransformer,它不能使用"AES_ENCRYPT")
有人可以帮我弄这个吗 ?
我正在尝试解码String包含(%)百分比的,它抛出异常
Exception:URLDecoder: Illegal hex characters in escape (%) pattern - For input string: "%&"
Run Code Online (Sandbox Code Playgroud)
我的代码:
public class DecodeCbcMsg {
public static void main(String[] args) throws UnsupportedEncodingException
{
String msg="Hello%%&&$$";
String strTMsg = URLDecoder.decode(msg,"UTF-8");
System.out.println(strTMsg);
}
Run Code Online (Sandbox Code Playgroud) 我想写一个AES加密方法,它应该等同于mysql aes_encrypt.
我尝试写但是它不正确,因为mysql也没有给出正确的数据.
我该怎么做才能使它正确?
Cipher cipher = Cipher.getInstance("AES");
cipher.init(Cipher.ENCRYPT_MODE, keySpec);
byte[] encryptedTextBytes = cipher.doFinal(message .getBytes("UTF-8"));
String k = new String(encryptedTextBytes);
System.out.println("KKKKK"+k);
Run Code Online (Sandbox Code Playgroud)