ORACLE SQL リファレンス(逆引き)

ORACLE SQL リファレンス

Web oracle.se-free.com
文字列を復号化する(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を用いて暗号化


スポンサード リンク

スリープする(DBMS_LOCK.SLEEP)
文字列を暗号化する(10g)( DBMS_CRYPTO.ENCRYPT )
文字列を復号化する(10g)( DBMS_CRYPTO.DECRYPT )
PL/SQLコードを隠蔽(暗号化)する(WRAP)
ランダムな数値や文字列を取得する( DBMS_RANDOM )
アラート通知(DBMS_ALERT)
ジョブスケジューリング(DBMS_JOB)
ロック(排他制御)を取得する(DBMS_LOCK)

PL/SQL へ
忘れっぽいエンジニアのオラクルSQLリファレンス TOPへ