Oracle的加密方法如何对应的转换为MySQL的方法如何编写?
//Oracle加密方案
/************************************start******************************************/
FUNCTION FN_ENC(I_STRING IN VARCHAR2) RETURN VARCHAR2 IS
O_RTN256 VARCHAR2(256);
V_ENCRYPTED_RAW RAW (2000); -- encryption raw type date
V_KEY_BYTES_RAW RAW (32); -- encryption key (32raw => 32byte => 256bit)
V_ENCRYPTION_TYPE PLS_INTEGER := DBMS_CRYPTO.ENCRYPT_AES256
+ DBMS_CRYPTO.CHAIN_CBC
+ DBMS_CRYPTO.PAD_PKCS5;
BEGIN
IF I_STRING IS NOT NULL THEN
V_KEY_BYTES_RAW := UTL_I18N.STRING_TO_RAW('key0123456789', 'AL32UTF8');
V_ENCRYPTED_RAW := DBMS_CRYPTO.ENCRYPT ( src => UTL_I18N.STRING_TO_RAW(I_STRING, 'AL32UTF8'),
typ => V_ENCRYPTION_TYPE,
key => V_KEY_BYTES_RAW
);
O_RTN256 := UTL_RAW.CAST_TO_VARCHAR2(UTL_ENCODE.BASE64_ENCODE(V_ENCRYPTED_RAW));
END IF;
RETURN O_RTN256;
END FN_ENC;
/************************************end******************************************/
墨值悬赏

评论
