암호화 항목중 일부분인 단방향 SHA256 해시 암호화 함수 생성하기를 설명한다.

1. 메모장을 열어 아래 내용을 붙여넣고 파일명을 SHA256Encryptor.java 로 합니다.


---------------------------------- 단방향(SHA256) -----------------------------------

CREATE OR REPLACE and RESOLVE JAVA SOURCE NAMED "SHA256Encryptor.SHA256" AS /*파일명*/
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. 콘솔을 열어 아래와 같이 실행하여 JAVA 파일을 오라클에 적재한다.

생성 : C:\>loadjava -u 아이디/암호@계정 -v -resolve C:\SHA256Encryptor.java
원격지에서 실행가능하며 DBA 권한이 필요합니다.
 

3. 오라클접속하여 아래와 같은 함수를 만들고 실행하여 함수를 생성한다.

CREATE OR REPLACE FUNCTION SHA265(NAME VARCHAR2) RETURN VARCHAR2
AS LANGUAGE JAVA
NAME 'SHA256Encryptor.SHA256(java.lang.String) return java.lang.String';

 

4. 테스트를 수행한다.

 SELECT SHA256('1234') FROM DUAL

반응형
블로그 이미지

조이풀 라이프

Lift is short, enjoy the life

,