|
 |
|
|
文字列を復号化する(10g)( DBMS_CRYPTO.DECRYPT ) |
|
スポンサード リンク
暗号化された文字列を復号化するには、DBMS_CRYPTO.DECRYPTファンクションを使用します。
DBMS_CRYPTOパッケージのを使用する為の、実行ユーザーへのEXECUTE権限付与については、「文字列を暗号化する(10g)( DBMS_CRYPTO.ENCRYPT )」を参照して下さい。
DBMS_CRYPTO.DECRYPT( SRC => 復号化するデータ ,
TYP => 暗号化アルゴリズム ,
KEY => 暗号化キー ); |
ファンクション「DBMS_CRYPTO.DECRYPT」は、以下の入力パラメータで指定した情報から、復号化したRAW型データを返します。
入力パラメータの指定内容
SRC : 復号化したい暗号データをRAW型で指定します。
TYP : 暗号化アルゴリズムを指定します。
詳細は、「文字列を暗号化する(10g)( DBMS_CRYPTO.ENCRYPT )」を参照して下さい。
KEY : 暗号化キーデータをRAW型で指定します。
暗号化キーは、暗号化と復号化で同じ情報を指定する必要があります。
|
例1) 引数で渡された文字列を暗号化したRAW型データを返します。( ストアドファンクション )
|
create or replace function get_decrypt_data(in_raw in raw) return varchar2 as
-- ASCIIコード暗号化キー文字列「ENCRYPT_KEY」をRAW型に変換する。 key_data raw(128) := utl_i18n.string_to_raw('ENCRYPT_KEY', 'us7ascii'); decrypted_data raw(128); decrypted_string varchar2(128);
begin
decrypted_data := dbms_crypto.decrypt( src => in_raw, typ => dbms_crypto.des_cbc_pkcs5, key => key_data); -- 復号化されたRAW型データをSJISコード文字列に変換する。 decrypted_string := utl_i18n.raw_to_char(decrypted_data,'ja16sjis'); return decrypted_string;
end get_decrypt_data;
|
このファンクションで使用した復号化アルゴリズム「dbms_crypto.des_cbc_pkcs5」は以下になります。
暗号化アルゴリズム : DES
パディング方式 : PKC5手法でパディング
ブロック暗号連鎖モード : CCBを用いて暗号化
スポンサード リンク
|
|
|
|
|