**free ctl-opt BNDDIR('QC2LE') DFTACTGRP(*NO) OPTION(*NODEBUGIO:*SRCSTMT); Dcl-PR EncryptData ExtProc('Qc3EncryptData'); pdatatocrypt Char(256) const options(*varsize); pDataLen Int(10) const; pdataFormat Char(8) const; palgoDesc likeds(myalgo); palgoDescFmt Char(8) const; pkeyDesc Char(32767) const options(*varsize); pkeyDescFmt Char(8) const; pcryptoProv Char(1) const; pcryptoDev Char(10) const; pdataEncrypt Char(256) const options(*varsize); pLenFournie Int(10) const; pLenBEsoin Int(10) const; pErrorCode Char(32767) options(*varsize); End-PR; Dcl-PR DecryptData ExtProc('Qc3DecryptData'); pdataEncrypt Char(256) const options(*varsize); pDataLen Int(10) const; palgoDesc likeds(myalgo); palgoDescFmt Char(8) const; pkeyDesc Char(32767) const options(*varsize); pkeyDescFmt Char(8) const; pcryptoProv Char(1) const; pcryptoDev Char(10) const; pdataretour Char(256) const options(*varsize); pLenFournie Int(10) const; pLenBEsoin Int(10) const; pErrorCode Char(32767) options(*varsize); End-PR; Dcl-DS ErrorCode qualified; bytesProv Int(10) inz(0); bytesAvail Int(10) inz(0); End-DS; dcl-ds myAlgo qualified; //ALGD0200 Algorithm int(10) ; BlockLen int(10); mode char(1); padOption char(1); padchar char(1); |
|
myKey.Format = key_BIN; //0=Binaire,1=BER myKey.value = %TrimR(keyValue); nDataLen = %len(%TrimR(szData)); EncryptData(szData: nDataLen :'DATA0100': myAlgo : 'ALGD0200' : myKey : 'KEYD0200' : ANY_CRYPTO_SRV : CRYPTO_SRV : encData : %size(encData) : nRtnLen : ErrorCode ); dsply (%subst(encdata : 1 : 50)); szData = *BLANKS; DecryptData(encData : nRtnLen : myAlgo : 'ALGD0200' : myKey : 'KEYD0200' : ANY_CRYPTO_SRV : CRYPTO_SRV : szData : %size(szData) : nRtnLen : ErrorCode ); dsply (%subst(szdata : 1 : 50)); *INLR = *On; |