바로가기 메뉴
메인메뉴 바로가기
본문내용 바로가기
  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) +"]");

  • 리스트

Site Information

9th floor, Ilhwan Bldg., 703-5, Yeoksamdong, Gangnamgu, Seoul, Korea TEL : 02-6447-6988   FAX : 02-6447-6989

Copyright 2013 eGlobal system. All Rights Reserved.