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

 

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

 

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

実行結果

 

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

実行結果

 

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

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