midrange.com code scratchpad |
Name:
Decryption AES128
|
Scriptlanguage:
Plain Text
|
Tabwidth:
4
|
Date:
11/18/2019 03:53:30 pm
|
IP:
Logged
|
|
Description:
Hi,
I tried to decrypt encodedexchangetoken using below program but when it decrypts it keeps ending with trailing blanks or some junk values which i want to remove and write only correct decrypted value to my flat file or another output xml file to write it in flat file i tried below code but 1) it's not able to recognize when decrypted value ends 2) it does not recognize when junk value starts 3) writing to XML and flat file is also failing.
|
Code:
- FUNIX IF F 1000 SPECIAL PGMNAME('UNIXCMD')
- F PLIST(UNIXPARM) USROPN
- FQSYSPRT O F 132 PRINTER
- dencodedExcha...
- dngeToken s 500
-
- DPOS1 S 5U 0
- DPOS2 S 5U 0
- D cmd s 5000a
- D mode s 1A inz('P')
- D*spacepos s 5u 0
- D Åcommand s 512a
-
- d QCMDEXC PR ExtPgm('QCMDEXC')
- d command 500a const
- d clength 15p 5 const
- D record ds 1000
- D outrec ds 132
-
- C UNIXPARM PLIST
- C PARM CMD
- C PARM MODE
- /free
- XML-INTO encodedExchangeToken %XML('/home/I0RS01HU/+
- INPUT.xml':'doc=file case=any path=+
- TokenExchangeResponse/encodedExchangeToken');
- eval pos1= %scan(' ':encodedExchangeToken);
- EVAL encodedExchangeToken = %subst(encodedExchangeToken:1:+
- POS1-1);
- cmd = 'echo ' + '''' + encodedExchangeToken + ''' ! openssl +
- enc -d -aes-128-ecb -K 363631653237354f494d31554c594c4a +
- -nopad -nosalt -base64 -A';
- open UNIX;
- read UNIX record;
- dow not %eof(UNIX);
- eval pos2= %scan(' ':record);
- EVAL outrec=%SUBST(record:1:POS2-1);
- Åcommand = 'CRTPF FILE(RISHI/TESTFILE) RCDLEN(500)';
- QCMDEXC(%trim(Åcommand): %len(%trim(Åcommand)));
- //Write into file
- EXEC SQL
- INSERT INTO rishi/TESTFILE VALUES (:outrec);
- write QSYSPRT outrec;
- dsply %subst(outrec:1:48);
- read UNIX record;
- enddo;
- close UNIX;
- *inlr = *on;
- /end-free
-
|
|
|