oracle 10g
加密:
CREATE OR REPLACE FUNCTION ENCRYPT(INPUT_STRING VARCHAR2, KEY_BYTES_RAW RAW) RETURN RAW IS
ENCRYPTED_RAW RAW (4000);
-- KEY_BYTES_RAW RAW (32);
ENCRYPTION_TYPE PLS_INTEGER := DBMS_CRYPTO.ENCRYPT_AES256 +
DBMS_CRYPTO.CHAIN_CBC +
DBMS_CRYPTO.PAD_PKCS5;
BEGIN
-- 将密钥放到程序中
--SELECT KEYCODE INTO KEY_BYTES_RAW FROM SMS_KEYINFOMTABL;
ENCRYPTED_RAW := DBMS_CRYPTO.ENCRYPT
(
SRC => UTL_I18N.STRING_TO_RAW (INPUT_STRING, 'AL32UTF8'),
TYP => ENCRYPTION_TYPE,
KEY => KEY_BYTES_RAW
);
RETURN ENCRYPTED_RAW;
END;
解密:
CREATE OR REPLACE FUNCTION DECRYPT(INPUT_RAW RAW, KEY_BYTES_RAW RAW) RETURN NUMBER IS
OUTPUT_STRING NUMBER;
DECRYPTED_RAW RAW (4000);
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余2页未读,立即下载
- 1
- 2
前往页