我能够创建一个函数来比较我的网络项目(Grails project
)和sql query
结果之间的哈希数据。
根据此link,
java source
,然后编译compile function
,然后调用函数。然而,在尝试import org.apache.commons.codec.binary.Base64
时遇到了麻烦。
代码如下:
create or replace and compile java source named testhmacSHA256 as
import javax.crypto.Mac;
import javax.crypto.spec.SecretKeySpec;
import org.apache.commons.codec.binary.Base64;
public class testhmacSHA256 {
public static String encrypt(String secret, String message) {
try {
Mac sha256_HMAC = Mac.getInstance("HmacSHA256");
SecretKeySpec secret_key = new SecretKeySpec(secret.getBytes(), "HmacSHA256");
sha256_HMAC.init(secret_key);
String hash = Base64.encodeBase64String(sha256_HMAC.doFinal(message.getBytes()));
return hash;
}
catch (Exception e){
System.out.println("Error");
}
}
}
/
显然,无法找到Base64。
所以我的问题是,有没有其他方法可以导入base64
,或只是在hmac-sha 256
中使用oracle sql 11g
的方法。
任何帮助将不胜感激。感谢。
答案 0 :(得分:0)
打开 conf / BuildConfig.groovy ,并在依赖部分添加:
build "commons-codec:commons-codec:1.10"
它应该:
dependency {
//... another dependiences if any
build "commons-codec:commons-codec:1.10"
}
刷新依赖项并重新编译项目。
如果您有任何问题,请粘贴您的conf / BuildConfig.groovy源文件。