Oracle(10g以降)のDBMS_CRYPTO.ENCRYPT/DBMS_CRYPTO.DECRYPTを使用してデータの暗号化・復号化を実現できる。

 

事前準備

DBMS_CRYPTOを利用するには、実行権限が必要となる為、SYSユーザーでログインして権限を付与する。

 

暗号化

以下のサンプルでは、文字列を暗号化した結果をbase64でエンコードしてVARCHAR2に変換した値を返している。

実行結果

 

復号化

以下のサンプルでは、base64でエンコードされた暗号化文字列を復号化してVARCHAR2に変換した値を返している。

実行結果

 

暗号化/復号化のストアドファンクション

ストアドファンクションの作成

ストアドファンクションの実行結果