바로가기 메뉴
메인메뉴 바로가기
본문내용 바로가기
  1. HOME  >
  2.   Case Management  >
  3.   Knowledge Search

Knowledge Search

Knowledge search

Title

[API] hybrid( API 와 Plug-in) 사용 시 한글 암호화 다른 현상

Product

API

Phenomenon

plug-in에서 한글 암호화한 값은 다음과 같습니다.
select xx1.enc_vachar2_ins('이글로벌',11,'SSN') from dual;
vE7o9UDseJeZfcyXGlmrdA==

API 에서 한글을 coencchar 로 암호화 한 값은 다음과 같습니다.
String encVal = coencchar("한글","SSN",11,null,null,errbyte);
encVal = oP9nOKEeo54lyaWPSRTKzA==


Cause

plug-in에서 한글 암호화 시 Data를 byte 형태로 처리 하기 때문에 API에서 다른 암호화 값으로 나옵니다.


Solution

API에서 coencbytes 함수를 사용하여 암호화를 하면 plug-in 과 같은 값을 얻을 수 있습니다.
한글은 java에서 1글자가 3byte로 처리되기 때문에 2번재 변수에 12를 넣어 사용합니다.

String encVal = coencbytes("이글로벌".getBytes(), 12, "SSN", 11, null, null, errbyte);
encVal = vE7o9UDseJeZfcyXGlmrdA==

위와 같은 방법으로 coencbytes 함수를 사용하면 plug-in과 같은 hybrid 구성이 가능합니다.

<함수사용 방법>
- coencbytes (

Byte[] plainTxt : 암호화할 평문 byte array
Int length : 암호화할 평문의 길이
String item : 보안정책 Item
int act : reserved for Auditing
String tblName: 로그를 위한 정보, Table 이름. NULL인 경우 로그정보 없음.
String colName: 로그를 위한 정보, Column 이름. NULL인 경우 로그정보 없음.
byte[] errcode : 에러코드를 리턴
리턴 값 String encOut : 암호화된 값.
호출 예 String plainTxt = “Plaint Text”;
byte[] inByte = plainTxt.getBytes();
String encVal = CubeOneAPI.coencbytes(inByte,inByte.length,item,11,"tbl","col",errcode);

- codecbyte

String inval : 복호화할 암호문
String item : 보안정책 Item
int act : reserved for Auditing
String tblName : 로그를 위한 정보, Table 이름. NULL인 경우 로그정보 없음.
String colName : 로그를 위한 정보, Column 이름. NULL인 경우 로그정보 없음.
byte[] errcode : 에러코드를 리턴
리턴 값 byte[] decOut : 복호화 된 byte 값.
호출 예 byte[] decByte = CubeOneAPI.codecbyte(encVal,item,10,"tbl","col",errbyte);
System.out.println(" decVal = ["+ new String(decByte) +"]");

  • 리스트

사이트정보

서울특별시 강남구 역삼동 703-5 일환빌딩 9층 (주)이글로벌시스템  TEL : 02-6447-6988  FAX : 02-6447-6989

Copyright 2013 (주)이글로벌시스템 All Rights Reserved.