Oracle對資料進行加密&解密處理
root@ythdc:/# su - oracle
oracle@ythdc:/home/oracle$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Apr 1 12:30:32 2010
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> @?/rdbms/admin/dbmsobtk.sql
Library created.
No errors.
Library created.
No errors.
Package created.
Synonym created.
Package created.
No errors.
Synonym created.
Grant succeeded.
No errors.
Package created.
No errors.
Synonym created.
SQL> CREATE OR REPLACE FUNCTION return_encrypted_data(data IN VARCHAR)
2 RETURN RAW IS
3 key VARCHAR(16) := 'A1B2C3D4E5F6G7H8';
4 encryption_mode NUMBER := DBMS_CRYPTO.ENCRYPT_AES128 +
5 DBMS_CRYPTO.CHAIN_CBC + DBMS_CRYPTO.PAD_PKCS5;
6 BEGIN
7 RETURN DBMS_CRYPTO.ENCRYPT(UTL_I18N.STRING_TO_RAW(data, 'AL32UTF8'),
8 encryption_mode,
9 UTL_I18N.STRING_TO_RAW(key, 'AL32UTF8'));
10 END;
11 /
Function created.
SQL> CREATE OR REPLACE FUNCTION return_decrypted_data(data IN RAW)
2 RETURN VARCHAR IS
3 key VARCHAR(16) := 'A1B2C3D4E5F6G7H8';
4 encryption_mode NUMBER := DBMS_CRYPTO.ENCRYPT_AES128 +
5 DBMS_CRYPTO.CHAIN_CBC + DBMS_CRYPTO.PAD_PKCS5;
6 BEGIN
7 RETURN UTL_RAW.CAST_TO_VARCHAR2(DBMS_CRYPTO.DECRYPT(data,
8 encryption_mode,
9 UTL_I18N.STRING_TO_RAW(key,
10 'AL32UTF8')));
11 END;
12 /
Function created.
SQL> select return_encrypted_data('xiaoyang') from dual;
RETURN_ENCRYPTED_DATA('XIAOYANG')
--------------------------------------------------------------------------------
369117C7BDCE806C60243E53F90AD136
SQL> select return_decrypted_data('369117C7BDCE806C60243E53F90AD136') from dual;
RETURN_DECRYPTED_DATA('369117C7BDCE806C60243E53F90AD136')
--------------------------------------------------------------------------------
xiaoyang
SQL>
oracle@ythdc:/home/oracle$ sqlplus / as sysdba
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Apr 1 12:30:32 2010
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> @?/rdbms/admin/dbmsobtk.sql
Library created.
No errors.
Library created.
No errors.
Package created.
Synonym created.
Package created.
No errors.
Synonym created.
Grant succeeded.
No errors.
Package created.
No errors.
Synonym created.
SQL> CREATE OR REPLACE FUNCTION return_encrypted_data(data IN VARCHAR)
2 RETURN RAW IS
3 key VARCHAR(16) := 'A1B2C3D4E5F6G7H8';
4 encryption_mode NUMBER := DBMS_CRYPTO.ENCRYPT_AES128 +
5 DBMS_CRYPTO.CHAIN_CBC + DBMS_CRYPTO.PAD_PKCS5;
6 BEGIN
7 RETURN DBMS_CRYPTO.ENCRYPT(UTL_I18N.STRING_TO_RAW(data, 'AL32UTF8'),
8 encryption_mode,
9 UTL_I18N.STRING_TO_RAW(key, 'AL32UTF8'));
10 END;
11 /
Function created.
SQL> CREATE OR REPLACE FUNCTION return_decrypted_data(data IN RAW)
2 RETURN VARCHAR IS
3 key VARCHAR(16) := 'A1B2C3D4E5F6G7H8';
4 encryption_mode NUMBER := DBMS_CRYPTO.ENCRYPT_AES128 +
5 DBMS_CRYPTO.CHAIN_CBC + DBMS_CRYPTO.PAD_PKCS5;
6 BEGIN
7 RETURN UTL_RAW.CAST_TO_VARCHAR2(DBMS_CRYPTO.DECRYPT(data,
8 encryption_mode,
9 UTL_I18N.STRING_TO_RAW(key,
10 'AL32UTF8')));
11 END;
12 /
Function created.
SQL> select return_encrypted_data('xiaoyang') from dual;
RETURN_ENCRYPTED_DATA('XIAOYANG')
--------------------------------------------------------------------------------
369117C7BDCE806C60243E53F90AD136
SQL> select return_decrypted_data('369117C7BDCE806C60243E53F90AD136') from dual;
RETURN_DECRYPTED_DATA('369117C7BDCE806C60243E53F90AD136')
--------------------------------------------------------------------------------
xiaoyang
SQL>
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23135684/viewspace-631001/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 後臺對Json資料加密、解密JSON加密解密
- 資料加密-國密SM2對資料進行加密加密
- RSA 非對稱加密&解密,超長字串分塊處理加密解密字串
- cocos2dx之CCUserDefault及其資料進行加密解密加密解密
- 對pandas進行資料預處理的例項講解
- 如何對大資料進行分析和處理?_光點科技大資料
- Jmeter使用beanshell對資料進行加密傳輸JMeterBean加密
- 如何基於香橙派AIpro對影片/影像資料進行預處理AI
- oracle遊標批次處理資料Oracle
- 對稱、非對稱的加密技術是如何對網站資料進行雙重加密?加密網站
- python對介面中的資料進行md5加密Python加密
- Python使用AES進行鹽值加密和解密Python加密解密
- Flutter 的加密和解密資料Flutter加密解密
- 使用網頁前端JavaScript使用RSA對長字串進行加密及測試解密,1024位可對長字串進行網頁前端JavaScript字串加密解密
- 探討NET Core資料進行3DES加密或解密弱金鑰問題3D加密解密
- 使用Base64進行string的加密和解密加密解密
- 使用matlab對影像進行二值化處理Matlab
- RSA 非對稱加密&解密加密解密
- 系統中資料顯示進行脫敏處理
- dbms_obfuscation_toolkit(資料加密解密)加密解密
- ORACLE資料加密(轉)Oracle加密
- Oracle透明資料加密Oracle加密
- 資訊保安:資料加密實戰!對專案中資料使用MD5演算法進行加密加密演算法
- 對於重要的資料檔案,用什麼方法進行加密?加密
- 如何在HarmonyOS對資料庫進行備份,恢復與加密資料庫加密
- springboot~configserver裡對重要資訊進行RSA加密Spring BootGseServer加密
- win10加密資料夾如何解密_win10已加密的資料夾如何解密Win10加密解密
- 商業智慧如何幫助企業進行資料處理?
- 對Oracle分割槽表進行表空間遷移並處理ORA-14511問題Oracle
- 資料加密(對稱加密和非對稱加密)加密
- 如何在Python中加密和解密資料Python加密解密
- JavaScript 資料處理 - 對映表篇JavaScript
- Jmeter中使用前置處理器加密傳輸資料JMeter加密
- 小夥用Python對Excel資料進行自動處理指令碼,追到了人事小姐姐PythonExcel指令碼
- netty系列之:對聊天進行加密Netty加密
- Python資料處理(二):處理 Excel 資料PythonExcel
- 企業如何遵守資料安全法規進行SAP資料脫敏處理?
- C# 優雅的處理TCP資料(心跳,超時,粘包斷包,SSL加密 ,資料處理等)C#TCP加密
- [Python] Pandas 對資料進行查詢、替換、篩選、排序、重複值和缺失值處理Python排序