ns.incuber.net
218.145.65.143
ns1.incuber.net
116.126.143.226
ns2.incuber.net
218.145.65.144
ns3.incuber.net
116.126.143.225
±â¾÷ÀºÇà
055-052143-02-016
¿¹±ÝÁÖ : ÃÖÀº¾Æ
ÀÚÁÖ¹¯´Â Áú¹®
Ȩ > °í°´¼¾ÅÍ > ÀÚÁÖ¹¯´Â Áú¹®

Áú¹® ¿À¶óŬ ¾Ï/º¹È£È­ ¿¹Á¦
°ü·ÃURL
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_obtool.htm#sthref4194
http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14258/d_obtool.htm#sthref4187

1. ¾Ï/º¹È£È­ ÆÐÅ°Áö ÀÛ¼º

±âº»ÀûÀ¸·Î ÀϹݻç¿ëÀÚ ¾ÆÀ̵𿡴 dbms_obfuscation_toolkit ±ÇÇÑÀÌ ºÎ¿© µÇ¾îÀÖÀ¸¹Ç·Î
º°µµÀÇ ±ÇÇÑÀÛ¾÷ ¾øÀÌ ¾Ï/º¹È£È­ ÆÐÅ°Áö ÀÛ¼º ¹× Å×½ºÆ®°¡ °¡´ÉÇÕ´Ï´Ù.
º¸¾È»ó º¹È£È­(decrypt) FUNCTION ±¸ÇöÇÏÁö ¾Ê´Â°ÍÀ» ±ÇÀåÇÕ´Ï´Ù.


CREATE OR REPLACE PACKAGE pkg_test
IS
FUNCTION encrypt (
input_string IN VARCHAR2 ,
key_data IN VARCHAR2 := '1122334455667788'
) RETURN RAW;

FUNCTION decrypt (
input_string IN VARCHAR2 ,
key_data IN VARCHAR2 := '1122334455667788'
) RETURN VARCHAR2;

END pkg_test;


CREATE OR REPLACE PACKAGE BODY pkg_test
IS
SQLERRMSG VARCHAR2(255);
SQLERRCDE NUMBER;


FUNCTION encrypt (input_string IN VARCHAR2 ,
key_data IN VARCHAR2 := '1122334455667788')
RETURN RAW
IS
key_data_raw RAW(128);
input_string_raw RAW(128);
encrypted_raw RAW(2048);

BEGIN
input_string_raw := UTL_RAW.CAST_TO_RAW(input_string);
key_data_raw := UTL_RAW.CAST_TO_RAW(key_data);

dbms_obfuscation_toolkit.DESEncrypt(
input => input_string_raw,
key => key_data_raw,
encrypted_data => encrypted_raw );
RETURN encrypted_raw;
END encrypt;

FUNCTION decrypt (input_string IN VARCHAR2 , key_data
IN VARCHAR2 := '1122334455667788')
RETURN VARCHAR2
IS
converted_string VARCHAR2(48);
key_data_raw RAW(128);
decrypted_raw VARCHAR2(2048);

BEGIN
key_data_raw := UTL_RAW.CAST_TO_RAW(key_data);

dbms_obfuscation_toolkit.DESDecrypt(
input => input_string,
key => key_data_raw,
decrypted_data => decrypted_raw);

converted_string := UTL_RAW.CAST_TO_VARCHAR2(decrypted_raw);
RETURN converted_string;
END decrypt ;

END pkg_test;

2. ¾Ï/º¹È£È­ Å×½ºÆ®

create table card_info ( id number, card_number varchar(32) primary key) ;

insert into card_info values ( 1 , pkg_test.encrypt('1234567812345678'));
insert into card_info values ( 2 , pkg_test.encrypt('1234567812345678', '0000111122223333'));
commit;

select * from card_info;

select id, pkg_test.decrypt(card_number) card_number from card_info;
select id, pkg_test.decrypt(card_number, '0000111122223333') card_number from card_info;

select * from card_info where card_number = '1234567812345678';
select * from card_info where card_number = utl_raw.cast_to_raw('1234567812345678');
select * from card_info where card_number = '365C80EABBC8859E91C4BDE4B3C52A4B';
select * from card_info where card_number = pkg_test.encrypt('1234567812345678');

drop package body pkg_test;
drop package pkg_test;
drop table card_info;

 
ÁÖ¼Ò : ¼­¿ï½Ã °­³²±¸ ½Å»çµ¿ 508-3¹øÁö »ïÇöºôµù 4Ãþ      ÀüÈ­ : 1544-9706      Æѽº : 02.6442.0136      ´ëÇ¥ÀÌ»ç : ±èÁ¾¼ö
¹ýÀÎ : 110111-4056738      »ç¾÷ÀÚµî·Ï¹øÈ£ : 220-87-78137      ¹ýÀθí : ÁÖ½Äȸ»ç ÀÎÅ¥¹ö      »çÀÌÆ®¸í : ÀÎÅ¥¹ö(incuber)
°³ÀÎÁ¤º¸Ã¥ÀÓÀÚ : ¼­Èñö      ¸ÞÀÏ : korea@incuber.kr      »ó´ã½Ã°£ : 08:00 ~ 18:00(¿ù~±Ý) Åä¿äÀÏ : 09:00~ 15:00
º» »çÀÌÆ®¿¡ °Ô½ÃµÈ À̸ÞÀÏ ÁÖ¼Ò¸¦ ¹«´ÜÀ¸·Î ¼öÁýÇÏ´Â °ÍÀ» ±ÝÁöÇϸç, À̸¦ À§¹Ý½Ã Á¤º¸Åë½Å¸Á¹ý¿¡ ÀÇÇØ Ã³¹ú¹Þ°Ô µË´Ï´Ù.
Copyright¨Ï INCUBER. ALL RIGHTS RESERVED. SINCE 1999