public classSHA256{public staticString getSHA256( String input) throws NoSuchAlgorithmException,UnsupportedEncodingException {
MessageDigest md= MessageDigest.getInstance("SHA-256");
md.update(input.getBytes(Charset.forName("UTF-8")));byte byteData[] =md.digest();
StringBuffer sb= newStringBuffer();for (int i = 0; i < byteData.length; i++) {
sb.append(Integer.toString((byteData[i]& 0xff) + 0x100, 16).substring(1));
}returnsb.toString();
}
}
编译代码
javac -source 1.6 -target 1.6 SHA256.java -encoding utf-8
加载java的执行条件(oracle)
su -oracle
find-name ‘initjvm.sql‘sqlplus/ assysdba
SQL>@./oracle/product/11.2.0/javavm/install/initjvm.sql;
加载.class文件
loadjava -r -f -o -user user/password@bdpdb ~/java/SHA256.class
oracle创建函数
CREATE OR REPLACE FUNCTION gnuhash_sha256 (string IN VARCHAR2) RETURN VARCHAR2 AS LANGUAGE JAVA NAME ‘SHA256.getSHA256(java.lang.String) return java.lang.String‘;
验证结果
SEKECT gnuhash_sha256("12344556677778880099000djdlsl");
参考文档:http://jakub.wartak.pl/blog/?p=124
Oracle使用java函数
标签:pos cep input support user create 加密算法 use length
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:https://www.cnblogs.com/guotianqi/p/8321292.html