decrypt function
Posted by Roshan on Jan 29, 2021; 10:16am
URL: http://erman-arslan-s-oracle-forum.124.s1.nabble.com/decrypt-function-tp9284.html
Hi Erman,
I have a few queries regarding encryption and decryption in JAVA.
a) We are using code base 64 and ASE128 to do the decrypt data
b) We are calling in DB function in java to do decrypt & encrypt.
Kindly advise whether we should create the functions below in Oracle DB?
Create or replace FUNCTION DECRYPTPD
(
SOURCESTR IN VARCHAR2, KEYSTR in VARCHAR2
) RETURN VARCHAR2 AS
BEGIN
RETURN UTL_RAW.CAST_TO_VARCHAR2(
DBMS_CRYPTO.DECRYPT
(
SRC => UTL_ENCODE.BASE64_DECODE(UTL_RAW.CAST_TO_RAW(SOURCESTR)),
TYP => DBMS_CRYPTO.ENCRYPT_AES128+DBMS_CRYPTO.CHAIN_ECB+DBMS_CRYPTO.PAD_PKCS5,
key => UTL_RAW.CAST_TO_RAW(KEYSTR)
)
)
;
END DECRYPTPD;
create or replace FUNCTION ENCRYPTPD
(
SOURCESTR IN VARCHAR2, KEYSTR in VARCHAR2
) RETURN VARCHAR2 AS
BEGIN
RETURN utl_raw.cast_to_varchar2(utl_encode.base64_encode(
DBMS_CRYPTO.ENCRYPT
(SRC => UTL_RAW.CAST_TO_RAW(SOURCESTR),
TYP => DBMS_CRYPTO.ENCRYPT_AES128+DBMS_CRYPTO.CHAIN_ECB+DBMS_CRYPTO.PAD_PKCS5,
key => UTL_RAW.CAST_TO_RAW(KEYSTR)
)
));
END ENCRYPTPD;
Here is sample code do encrypt :
public PSGCustomerDTO getByIdDocNum(String idDocNum, String idDocType) {
PSGCustomerDTO result = null;
Session session = this.sessionFactory.getCurrentSession();
Criteria criteria = session.createCriteria(PSGCustomerDTO.class, "customer");
criteria.add(Restrictions.eq("id_doc_num", Helper.encryptField(idDocNum)));
criteria.add(Restrictions.eq("id_doc_type", idDocType));
// criteria.add(Restrictions.isNull("id_doc_type"));
criteria.addOrder(Order.desc("create_date"));
List<PSGCustomerDTO> list = criteria.list();
result = (list.size() > 0) ? list.get(0) : null;
return result;
}
Kindly advise how to call the decryption functions in the code above?
We are getting error below
Function DECRYPTPD compiled
LINE/COL ERROR
--------- -------------------------------------------------------------
6/3 PL/SQL: Statement ignored
7/17 PLS-00201: identifier 'DBMS_CRYPTO' must be declared
Errors: check compiler log
Thanks,
Roshan