oracle 存储过程执行java进行密码加密成LDAP方式2
步骤
1.先写 java
1 | import sun.misc.BASE64Encoder; |
2.把相关包拷贝到当前目录下(rt.jar)
3.查询 oracle 的 jdk 版本
1 | CREATE OR REPLACE FUNCTION get_java_property (prop IN VARCHAR2) |
4.loadjava 导入到 oracle 中
1 | F:\bufx>loadjava -r -f -u sys/123456@192.168.2.110:1521/orcl -v PwdToLdap.java |
5.sql 查询是否存在 Java
1 | SELECT * FROM USER_OBJECTS WHERE OBJECT_TYPE ='JAVA CLASS'order by created desc; |
6.写存储过程
1 | CREATE OR REPLACE FUNCTION PwdToLdap(str in varchar2) RETURN VARCHAR2 AS LANGUAGE JAVA NAME 'PwdToLdap.ldapSHA (java.lang.String) return java.lang.String'; |
7.执行存储过程(两种方法)
7.1 直接查询
1 | SELECT PwdToLdap('18dacbf7db89381473a754b4d76b0c3f03749ecc') FROM dual; |
7.2 sqlplus 执行
1 | SQL> VARIABLE myString VARCHAR2(20); |
9.删除 java 类
1 | dropjava -u sys/123456@192.168.2.110:1521/orcl -v -resolve PwdToLdap.class |
oracle 存储过程执行java进行密码加密成LDAP方式2