Я могу создать функцию для сравнения хэш-данных между моим веб-проектом (Grails project
) и sql query
.Base64 ошибка при компиляции java-источника в Oracle sql
Согласно этому 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
.
Любая помощь будет оценена по достоинству. Благодарю.
Почему бы вам просто не добавить http://mvnrepository.com/artifact/commons-codec/commons-codec к вашему проекту? –
Привет, проект отлично работает. вы имеете в виду добавить к оракулу sql, не так ли? Как добавить его в oracle 11g? Благодарю. –
Нет. Вы писали: «Однако у меня возникли проблемы при попытке импортировать org.apache.commons.codec.binary.Base64_», поэтому я понял, что вы не можете импортировать этот класс. Если мы неправильно поняли друг друга, чем объясняем вашу проблему по-другому. –