오라클에서 자바파일 암호화 사용하기-SHA256
1. SHA256 자바파일 생성package common.base;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SHA256Encryptor {
public static String SHA256(String str){
String SHA = "";
try{
MessageDigest sh = MessageDigest.getInstance("SHA-256");
sh.update(str.getBytes());
byte byteData[] = sh.digest();
StringBuffer sb = new StringBuffer();
for(int i = 0 ; i < byteData.length ; i++){
sb.append(Integer.toString((byteData[i]&0xff) + 0x100, 16).substring(1));
}
SHA = sb.toString();
}catch(NoSuchAlgorithmException e){
e.printStackTrace();
SHA = null;
}
return SHA;
}
public static void main(String[] args) {
String in_str = args[0];
String out_str = SHA256(in_str);
System.out.println(">>in["+in_str+ "],out[" + out_str + "]" + out_str.length() );
}
}
2. cmd 실행 후 자바파일 로드하기
생성 : C:\>loadjava -u 아이디/암호@계정 -v -resolve C:\a.java
제거 : C:\>dropjava -u 아이디/암호@계정 -v -resolve C:\a.java
3. Oracle 함수 생성하기
CREATE OR REPLACE FUNCTION SHA(NAME VARCHAR2) RETURN VARCHAR2
AS LANGUAGE JAVA
NAME 'common.base.SHA256Encryptor.SHA256(java.lang.String) return java.lang.String';
4. 사용하기
실행문 : SELECT SHA('1234') FROM DUAL;
결과값 : 03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
public class SHA256Encryptor {
public static String SHA256(String str){
String SHA = "";
try{
MessageDigest sh = MessageDigest.getInstance("SHA-256");
sh.update(str.getBytes());
byte byteData[] = sh.digest();
StringBuffer sb = new StringBuffer();
for(int i = 0 ; i < byteData.length ; i++){
sb.append(Integer.toString((byteData[i]&0xff) + 0x100, 16).substring(1));
}
SHA = sb.toString();
}catch(NoSuchAlgorithmException e){
e.printStackTrace();
SHA = null;
}
return SHA;
}
public static void main(String[] args) {
String in_str = args[0];
String out_str = SHA256(in_str);
System.out.println(">>in["+in_str+ "],out[" + out_str + "]" + out_str.length() );
}
}
2. cmd 실행 후 자바파일 로드하기
생성 : C:\>loadjava -u 아이디/암호@계정 -v -resolve C:\a.java
제거 : C:\>dropjava -u 아이디/암호@계정 -v -resolve C:\a.java
3. Oracle 함수 생성하기
CREATE OR REPLACE FUNCTION SHA(NAME VARCHAR2) RETURN VARCHAR2
AS LANGUAGE JAVA
NAME 'common.base.SHA256Encryptor.SHA256(java.lang.String) return java.lang.String';
4. 사용하기
실행문 : SELECT SHA('1234') FROM DUAL;
결과값 : 03ac674216f3e15c761ee1a5e255f067953623c8b388b4459e13f978d7c846f4