使用系统包解密函数报如下错误。
select unhex(DBMS_CRYPTO.DECRYPT('1269A376307F28F5EEA3FEBA64F34F56D39E164654948179591AD081316916D4',
DBMS_CRYPTO.ENCRYPT_AES128 + DBMS_CRYPTO.CHAIN_ECB + DBMS_CRYPTO.PAD_PKCS5,
hex('abcd@123')));
查阅文档,关于密钥这个参数,有如下描述。
KEY 输入参数,加密使用的 KEY,不能为空。 KEY 长度必须足够,大于等于算法所需密钥长度,超出长度部分忽略,长度不足将会报错处理。 算法的 KEY 长度可通过V$CIPHERS 视图 KH_SIZE 列获取。
当前使用加密算法的长度为16,所以对密钥用 0 做补全处理。
select unhex(DBMS_CRYPTO.DECRYPT('1269A376307F28F5EEA3FEBA64F34F56D39E164654948179591AD081316916D4',
DBMS_CRYPTO.ENCRYPT_AES128 + DBMS_CRYPTO.CHAIN_ECB + DBMS_CRYPTO.PAD_PKCS5,
hex(RPAD('abcd@123', 16, CHR(0)))));
文章
阅读量
获赞