728x90
반응형
728x90
반응형

자바를 이용해 sha256 함수를 만들어 보겠습니다.


1. 오라클에 자바 클래스를 생성합니다.

CREATE OR REPLACE AND COMPILE JAVA SOURCE NAMED "SHA256PasswordEncoder{" AS 

import java.lang.*;

import java.io.*;


public class SHA256PasswordEncoder{

public static String encode(String passwd){

try {

if (passwd != null && !passwd.equals("")) {

java.security.MessageDigest digest = java.security.MessageDigest.getInstance("SHA-256");

byte[] bytData = passwd.getBytes();

digest.update(bytData);

byte[] buffer = digest.digest();

passwd = "";

for (int i = 0; i < buffer.length; i++) {

passwd = passwd + Integer.toHexString(buffer[i] & 0xFF).toUpperCase();

}

}

      return passwd;

} catch (Exception e) {

throw new RuntimeException(e);

}

}

}


2. 만든 자바클래스를 이용하여 함수를 만듭니다.

create or replace function gnuhash_sha256(passwd VARCHAR2) RETURN VARCHAR AS 

language java name 'SHA256PasswordEncoder.encode(java.lang.String) return java.lang.String';


3. 함수가 정상적으로 생성되었는지 테스트합니다.

select gnuhash_sha256('a') sha256_passwd

from dual

;--CA978112CA1BBDCAFAC231B39A23DC4DA786EFF8147C4E72B9807785AFEE48BB


함수가 정상적으로 생성되었음을 확인할 수 있습니다.





패스워드 SHA256으로 암호화하기



728x90
반응형
728x90
반응형

+ Recent posts