我用Java代码编写了一个Cassandra UDF,用于加密数据。为此,我使用了javax.crypto.Cipher
和javax.crypto.spec.SecretKeySpec
。
由于出现以下错误,我无法创建UDF:
InvalidRequest:来自服务器的错误:代码= 2200 [Invalid query] message =“ Java源代码编译失败:
第1行:javax.crypto.spec.SecretKeySpec无法解析为类型
第1行:javax.crypto.spec.SecretKeySpec无法解析为类型
第1行:javax.crypto.Cipher无法解析为类型
第1行:javax.crypto.Cipher无法解析为类型
第1行:javax.crypto.Cipher.ENCRYPT_MODE无法解析为类型
create function encrypt("val" text)
returns null on null input
returns text
language java as
'
String strData="";
javax.crypto.spec.SecretKeySpec skeyspec=new
javax.crypto.spec.SecretKeySpec("abc".getBytes(),"Blowfish");
javax.crypto.Cipher cipher=javax.crypto.Cipher.getInstance("Blowfish");
cipher.init(javax.crypto.Cipher.ENCRYPT_MODE,skeyspec);
byte[] encrypted=cipher.doFinal(val.getBytes());
strData=new String(encrypted);
return strData;
';