|
View previous topic :: View next topic
|
| Author |
Message |
jzhardy
Active User
Joined: 31 Oct 2006 Posts: 150 Location: brisbane
|
|
|
|
i have an unusual requirement to alter a job by inserting a step.
input to the step is a temp file (call it &&TEMP).output has to remain as a temporary file. these are fixed.
text input is FB80, and I need output to be encrypted - it doesn't have to be strong, so a pseudo-encryption algorithm would do fine.
can this be implemented using ICEMAN/ ICETOOL ? |
|
| Back to top |
|
 |
sergeyken
Senior Member

Joined: 29 Apr 2008 Posts: 2281 Location: USA
|
|
|
|
| jzhardy wrote: |
i have an unusual requirement to alter a job by inserting a step.
input to the step is a temp file (call it &&TEMP).output has to remain as a temporary file. these are fixed.
text input is FB80, and I need output to be encrypted - it doesn't have to be strong, so a pseudo-encryption algorithm would do fine.
can this be implemented using ICEMAN/ ICETOOL ? |
#1 "encrypt" to ASCII codes
| Code: |
| INREC/OUTREC BUILD=(1,80,TRAN=ETOA) |
#2 "encrypt" using static conversion table
| Code: |
ALTSEQ CODE=(aabb,ccdd,eeff,gghh,. . . . . . .,yyzz)
INREC/OUTREC BUILD=(1,80,TRAN=ALTSEQ) |
|
|
| Back to top |
|
 |
steve-myers
Active Member
Joined: 30 Nov 2013 Posts: 917 Location: The Universe
|
|
|
|
#3 (Just a thought) "Encrypt" by compressing as an additional step. No one, but no one, can make any sense out of the output of TRSMAIN/AMATERSE except by expanding the "encrypted" data set. Granted TRSMAIN is terribly slow, but ...
Another advantage is the "encrypted" data set can be transmitted quite easily, especially if the data is mostly non-text. |
|
| Back to top |
|
 |
sergeyken
Senior Member

Joined: 29 Apr 2008 Posts: 2281 Location: USA
|
|
|
|
| Code: |
//*=====================================================================
//* PSEUDO-ENCRYPTION
//*=====================================================================
//SORTTRAN EXEC PGM=SORT
//*
//SYSOUT DD SYSOUT=*
//*
//SORTIN DD *
TRAN
Use this subparameter to change the case of EBCDIC letters from
lowercase to uppercase or vice-versa, translate ASCII characters to
EBCDIC ones or vice-versa, transform data to printable hexadecimal
(0-9 or A-F) or binary (0 or 1), or vice-versa, or translate data
based on an alternative collating sequence (ALTSEQ) table in
effect. Specify this subparameter immediately after the position P
and the length L of the field to be converted. Specify p,l,tran for
both fixed-length records and the fixed-length portion of variable
length records. Specify p,tran for the variable-length portion of
variable-length records. Starting in position P of the input record,
for a length of L, each byte will be converted as per specification.
TRAN
USE THIS SUBPARAMETER TO CHANGE THE CASE OF EBCDIC LETTERS FROM
LOWERCASE TO UPPERCASE OR VICE-VERSA, TRANSLATE ASCII CHARACTERS TO
EBCDIC ONES OR VICE-VERSA, TRANSFORM DATA TO PRINTABLE HEXADECIMAL
(0-9 OR A-F) OR BINARY (0 OR 1), OR VICE-VERSA, OR TRANSLATE DATA
BASED ON AN ALTERNATIVE COLLATING SEQUENCE (ALTSEQ) TABLE IN
EFFECT. SPECIFY THIS SUBPARAMETER IMMEDIATELY AFTER THE POSITION P
AND THE LENGTH L OF THE FIELD TO BE CONVERTED. SPECIFY P,L,TRAN FOR
BOTH FIXED-LENGTH RECORDS AND THE FIXED-LENGTH PORTION OF VARIABLE
LENGTH RECORDS. SPECIFY P,TRAN FOR THE VARIABLE-LENGTH PORTION OF
VARIABLE-LENGTH RECORDS. STARTING IN POSITION P OF THE INPUT RECORD,
FOR A LENGTH OF L, EACH BYTE WILL BE CONVERTED AS PER SPECIFICATION.
//*
//SORTEBC DD SYSOUT=*
//SORTASC DD SYSOUT=*
//SORTREV DD SYSOUT=*
//SORTALT DD SYSOUT=*
//*
//SYSIN DD *
ALTSEQ CODE=(4041,4142,4243,4344,4445,4546,4647,4748,
4849,494A,4A4B,4B4C,4C4D,4D4E,4E4F,4F50,
5051,5152,5253,5354,5455,5556,5657,5758,
5859,595A,5A5B,5B5C,5C5D,5D5E,5E5F,5F60,
6061,6162,6263,6364,6465,6566,6667,6768,
6869,696A,6A6B,6B6C,6C6D,6D6E,6E6F,6F70,
7071,7172,7273,7374,7475,7576,7677,7778,
7879,797A,7A7B,7B7C,7C7D,7D7E,7E7F,7F80,
8081,8182,8283,8384,8485,8586,8687,8788,
8889,898A,8A8B,8B8C,8C8D,8D8E,8E8F,8F90,
9091,9192,9293,9394,9495,9596,9697,9798,
9899,999A,9A9B,9B9C,9C9D,9D9E,9E9F,9FA0,
A0A1,A1A2,A2A3,A3A4,A4A5,A5A6,A6A7,A7A8,
A8A9,A9AA,AAAB,ABAC,ACAD,ADAE,AEAF,AFB0,
B0B1,B1B2,B2B3,B3B4,B4B5,B5B6,B6B7,B7B8,
B8B9,B9BA,BABB,BBBC,BCBD,BDBE,BEBF,BFC0,
C0C1,C1C2,C2C3,C3C4,C4C5,C5C6,C6C7,C7C8,
C8C9,C9CA,CACB,CBCC,CCCD,CDCE,CECF,CFD0,
D0D1,D1D2,D2D3,D3D4,D4D5,D5D6,D6D7,D7D8,
D8D9,D9DA,DADB,DBDC,DCDD,DDDE,DEDF,DFE0,
E0E1,E1E2,E2E3,E3E4,E4E5,E5E6,E6E7,E7E8,
E8E9,E9EA,EAEB,EBEC,ECED,EDEE,EEEF,EFF0,
F0F1,F1F2,F2F3,F3F4,F4F5,F5F6,F6F7,F7F8,
F8F9,F9FA,FAFB,FBFC,FCFD,FDFE,FEFF,FF40)
*
SORT FIELDS=COPY
*
OUTFIL FNAMES=SORTEBC,BUILD=(1,80)
OUTFIL FNAMES=SORTASC,BUILD=(1,80,TRAN=ETOA)
OUTFIL FNAMES=SORTREV,BUILD=(1,80,TRAN=ATOE)
OUTFIL FNAMES=SORTALT,BUILD=(1,80,TRAN=ALTSEQ)
*
END
//*
//*=====================================================================
|
As is:
| Code: |
********************************* TOP OF DATA **********************************
TRAN
Use this subparameter to change the case of EBCDIC letters from
lowercase to uppercase or vice-versa, translate ASCII characters to
EBCDIC ones or vice-versa, transform data to printable hexadecimal
(0-9 or A-F) or binary (0 or 1), or vice-versa, or translate data
based on an alternative collating sequence (ALTSEQ) table in
effect. Specify this subparameter immediately after the position P
and the length L of the field to be converted. Specify p,l,tran for
both fixed-length records and the fixed-length portion of variable
length records. Specify p,tran for the variable-length portion of
variable-length records. Starting in position P of the input record,
for a length of L, each byte will be converted as per specification.
TRAN
USE THIS SUBPARAMETER TO CHANGE THE CASE OF EBCDIC LETTERS FROM
LOWERCASE TO UPPERCASE OR VICE-VERSA, TRANSLATE ASCII CHARACTERS TO
EBCDIC ONES OR VICE-VERSA, TRANSFORM DATA TO PRINTABLE HEXADECIMAL
(0-9 OR A-F) OR BINARY (0 OR 1), OR VICE-VERSA, OR TRANSLATE DATA
BASED ON AN ALTERNATIVE COLLATING SEQUENCE (ALTSEQ) TABLE IN
EFFECT. SPECIFY THIS SUBPARAMETER IMMEDIATELY AFTER THE POSITION P
AND THE LENGTH L OF THE FIELD TO BE CONVERTED. SPECIFY P,L,TRAN FOR
BOTH FIXED-LENGTH RECORDS AND THE FIXED-LENGTH PORTION OF VARIABLE
LENGTH RECORDS. SPECIFY P,TRAN FOR THE VARIABLE-LENGTH PORTION OF
VARIABLE-LENGTH RECORDS. STARTING IN POSITION P OF THE INPUT RECORD,
FOR A LENGTH OF L, EACH BYTE WILL BE CONVERTED AS PER SPECIFICATION.
******************************** BOTTOM OF DATA ********************************
|
EBCDIC to ASCII:
| Code: |
********************************* TOP OF DATA **********************************
+
/ /_ ? /> / ? % ?_
%? / ? / ? / /> %/ / / ?
?> ? / /> ? _ / / ? > / % / _/%
? ? >/ ` ? ? / ? /> %/ / /
/ ?> /> /% >/ ?%%/ > > < / % >
` / /_ __ / %` / ? ?> &
/> % > < ? % ? ?> ` % /> ?
? % > ? /> % > ? ?> ? / / %
% > ? ` /> ? / / % % > ? ?> ?
/ / % % > ? / > > ? ?> & ? > ?
? / % > ? < / ` %% ?> / / ?>
+
& ( | + | < |(
<| | && | + < |
|+ | + | ( | & + < ( <
| | + | | | + <
|+ + < + |<< + + < < +
& & ( (( < &| |+ &
+ < + < | < | |+ & & < + |
| < + | + < + &| |+ | <
< + | & & + | < < + &| |+ |
< < + | + + &| |+ & | +& |
| < + | < << |+ & & |+
******************************** BOTTOM OF DATA ********************************
|
ASCII to EBCDIC:
| Code: |
********************************* TOP OF DATA **********************************
cYAU@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
d" @# "@"$ # @# @ @# @ " @ @EBCDIC@ ## "@ @@@@@@@@@@@@@@@@@
& " @# @$ " @ @% `% " k@# " # @AbCII@ # "@# @@@@@@@@@@@@@
EBCDIC@ "@ @% `% " k@# " @ # @# @ # @ ' @@@@@@@@@@@@@@
Mp`y@ @A`F¨@ @ (@Mp@ @q¨k@ @% `% " k@ @# " # @ # @@@@@@@@@@@@@@@
" @ @ @ # # % @ # @" $ @MAScbEX¨@# @ @@@@@@@@@@@@@@@@@@@@
#K@b (@# "@"$ # @ # (@ # @# @ " # @W@@@@@@@@@@@@@@
@# @ # @S@ @# @ @# @ @ % # K@b (@ k k# @ @@@@@@@@@@@@@
# @ ' ` # @ "@ @# @ ' ` # @ # @ @% @@@@@@@@@@@@@@
# @ "K@b (@ k# @ @# @% ` # @ # @ @@@@@@@@@@@@@@@
% ` # @ "K@b# # @ @ " # @W@ @# @ $#@ k@@@@@@@@@@@@
@ @ # @ @Sk@ @ (# @& @ @ % # @ "@ @" # K@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
cYAU@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
dbE@cHIb@bdBWAYATEcEY@cV@CHAUGE@cHE@CAbE@VF@EBCDIC@SEccEYb@FYVT@@@@@@@@@@@@@@@@@
SVfEYCAbE@cV@dWWEYCAbE@VY@eICE`eEYbAk@cYAUbSAcE@AbCII@CHAYACcEYb@cV@@@@@@@@@@@@@
EBCDIC@VUEb@VY@eICE`eEYbAk@cYAUbFVYT@DAcA@cV@WYIUcABSE@HEgADECITAS@@@@@@@@@@@@@@
Mp`y@VY@A`F¨@VY@BIUAYh@Mp@VY@q¨k@VY@eICE`eEYbAk@VY@cYAUbSAcE@DAcA@@@@@@@@@@@@@@@
BAbED@VU@AU@AScEYUAcIeE@CVSSAcIUG@bEXdEUCE@MAScbEX¨@cABSE@IU@@@@@@@@@@@@@@@@@@@@
EFFECcK@bWECIFh@cHIb@bdBWAYATEcEY@ITTEDIAcESh@AFcEY@cHE@WVbIcIVU@W@@@@@@@@@@@@@@
AUD@cHE@SEUGcH@S@VF@cHE@FIESD@cV@BE@CVUeEYcEDK@bWECIFh@WkSkcYAU@FVY@@@@@@@@@@@@@
BVcH@FIgED`SEUGcH@YECVYDb@AUD@cHE@FIgED`SEUGcH@WVYcIVU@VF@eAYIABSE@@@@@@@@@@@@@@
SEUGcH@YECVYDbK@bWECIFh@WkcYAU@FVY@cHE@eAYIABSE`SEUGcH@WVYcIVU@VF@@@@@@@@@@@@@@@
eAYIABSE`SEUGcH@YECVYDbK@bcAYcIUG@IU@WVbIcIVU@W@VF@cHE@IUWdc@YECVYDk@@@@@@@@@@@@
FVY@A@SEUGcH@VF@Sk@EACH@BhcE@fISS@BE@CVUeEYcED@Ab@WEY@bWECIFICAcIVUK@@@@@@@@@@@@
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
******************************** BOTTOM OF DATA ********************************
|
ALTSEQ:
| Code: |
********************************* TOP OF DATA **********************************
U BO
Vtf ui t tvcqb bnfuf up dibohf uif dbtf pg FCDE D mfuuf t g pn
mpxf dbtf up vqqf dbtf p w df/wf tb% u botmbuf BTD dib bduf t up
FCDE D poft p w df/wf tb% u botgp n ebub up q oubcmf ifybefd nbm
+1/³ p B/G; p c ob z +1 p 2;% p w df/wf tb% p u botmbuf ebub
cbtfe po bo bmuf obu wf dpmmbu oh tfrvfodf +BMUTFR; ubcmf o
fggfdu< Tqfd gz ui t tvcqb bnfuf nnfe bufmz bguf uif qpt u po Q
boe uif mfohui M pg uif g fme up cf dpowf ufe< Tqfd gz q%m%u bo gp
cpui g yfe/mfohui fdp et boe uif g yfe/mfohui qp u po pg wb bcmf
mfohui fdp et< Tqfd gz q%u bo gp uif wb bcmf/mfohui qp u po pg
wb bcmf/mfohui fdp et< Tub u oh o qpt u po Q pg uif oqvu fdp e%
gp b mfohui pg M% fbdi czuf x mm cf dpowf ufe bt qf tqfd g dbu po<
U BO
VTF UI T TVCQB BNFUF UP DIBOHF UIF DBTF PG FCDE D MFUUF T G PN
MPXF DBTF UP VQQF DBTF P W DF/WF TB% U BOTMBUF BTD DIB BDUF T UP
FCDE D POFT P W DF/WF TB% U BOTGP N EBUB UP Q OUBCMF IFYBEFD NBM
+1/³ P B/G; P C OB Z +1 P 2;% P W DF/WF TB% P U BOTMBUF EBUB
CBTFE PO BO BMUF OBU WF DPMMBU OH TFRVFODF +BMUTFR; UBCMF O
FGGFDU< TQFD GZ UI T TVCQB BNFUF NNFE BUFMZ BGUF UIF QPT U PO Q
BOE UIF MFOHUI M PG UIF G FME UP CF DPOWF UFE< TQFD GZ Q%M%U BO GP
CPUI G YFE/MFOHUI FDP ET BOE UIF G YFE/MFOHUI QP U PO PG WB BCMF
MFOHUI FDP ET< TQFD GZ Q%U BO GP UIF WB BCMF/MFOHUI QP U PO PG
WB BCMF/MFOHUI FDP ET< TUB U OH O QPT U PO Q PG UIF OQVU FDP E%
GP B MFOHUI PG M% FBDI CZUF X MM CF DPOWF UFE BT QF TQFD G DBU PO<
******************************** BOTTOM OF DATA ********************************
|
|
|
| Back to top |
|
 |
sergeyken
Senior Member

Joined: 29 Apr 2008 Posts: 2281 Location: USA
|
|
|
|
| Code: |
//*=====================================================================
//* PSEUDO-ENCRYPTION
//*=====================================================================
//BINTRAN EXEC PGM=SORT
//*
//SYSOUT DD SYSOUT=*
//*
//SORTIN DD *
TRAN
Use this subparameter to change the case of EBCDIC letters from
lowercase to uppercase or vice-versa, translate ASCII characters to
EBCDIC ones or vice-versa, transform data to printable hexadecimal
(0-9 or A-F) or binary (0 or 1), or vice-versa, or translate data
based on an alternative collating sequence (ALTSEQ) table in
effect. Specify this subparameter immediately after the position P
and the length L of the field to be converted. Specify p,l,tran for
both fixed-length records and the fixed-length portion of variable
length records. Specify p,tran for the variable-length portion of
variable-length records. Starting in position P of the input record,
for a length of L, each byte will be converted as per specification.
TRAN
USE THIS SUBPARAMETER TO CHANGE THE CASE OF EBCDIC LETTERS FROM
LOWERCASE TO UPPERCASE OR VICE-VERSA, TRANSLATE ASCII CHARACTERS TO
EBCDIC ONES OR VICE-VERSA, TRANSFORM DATA TO PRINTABLE HEXADECIMAL
(0-9 OR A-F) OR BINARY (0 OR 1), OR VICE-VERSA, OR TRANSLATE DATA
BASED ON AN ALTERNATIVE COLLATING SEQUENCE (ALTSEQ) TABLE IN
EFFECT. SPECIFY THIS SUBPARAMETER IMMEDIATELY AFTER THE POSITION P
AND THE LENGTH L OF THE FIELD TO BE CONVERTED. SPECIFY P,L,TRAN FOR
BOTH FIXED-LENGTH RECORDS AND THE FIXED-LENGTH PORTION OF VARIABLE
LENGTH RECORDS. SPECIFY P,TRAN FOR THE VARIABLE-LENGTH PORTION OF
VARIABLE-LENGTH RECORDS. STARTING IN POSITION P OF THE INPUT RECORD,
FOR A LENGTH OF L, EACH BYTE WILL BE CONVERTED AS PER SPECIFICATION.
//*
//SORTEBC DD SYSOUT=*
//SORTBIN DD SYSOUT=*
//*
//SYSIN DD *
*
*
SORT FIELDS=COPY
*
OUTFIL FNAMES=SORTEBC,BUILD=(1,80)
OUTFIL FNAMES=SORTBIN,
BUILD=(1,8,FI,MUL,-1,TO=FI,LENGTH=8,
9,8,FI,MUL,-1,TO=FI,LENGTH=8,
17,8,FI,MUL,-1,TO=FI,LENGTH=8,
25,8,FI,MUL,-1,TO=FI,LENGTH=8,
33,8,FI,MUL,-1,TO=FI,LENGTH=8,
41,8,FI,MUL,-1,TO=FI,LENGTH=8,
49,8,FI,MUL,-1,TO=FI,LENGTH=8,
57,8,FI,MUL,-1,TO=FI,LENGTH=8,
65,8,FI,MUL,-1,TO=FI,LENGTH=8,
73,8,FI,MUL,-1,TO=FI,LENGTH=8)
*
END
//*
//*=====================================================================
|
| Code: |
********************************* TOP OF DATA **********************************
{ { { { { { { { { {
): * ; )$' = ",:*: *¦ @ =¦ :{* : @=)# ` %:**# ) ` ,{ { {
% : @=;: * $ : @=): ¦ ! @: $: )=m * =¦)%=*:{ @ = =@*: ; * { {
¦¦:) $ @: !: ;=m * =¦;` , #=)= * ¦*='%: : =#:@ %=% { {
{ s {' ¦= sn ! @# !: )=m{ * =¦;%=*: #=)= { {
'=):# , =¦ =%*# ¦=* !:{@ %%=* , ): $:,@: s *='_: ¦ { { {
:``:@* { :@ ` {* ) )$= = =,:*# ,,:# =*:% =:*: * :{ ) * , { {
=¦# * :{%:¦ * ` * :{` :%# *¦ ': @ ¦$: *:# :@ ` m%m* =¦{` { {
' * ` :# %:¦ ) :@ @) =¦# * : ` :# %:¦ * * ¦ ¦` != ==%: { {
%:¦ * :@ #) { :@ ` { m* =¦ : * : $= ='%: %:¦ * * ¦ ¦` { {
!= ='%# %:¦ * { :@ #) *= * , ¦ ; * ¦ { ` * : ¦ $* :' #m { {
` = %#¦ * `{ m :=@ {' *: _% ': @ ,!: *:# ") : ) :@ ` @=) ¦ { {
{ { { { { { { { { {
{ { { { { { { { { {
{ { { {
m { { {
m { {
{ s { sn m{ { {
{ s { { {
{ { { { {
{ { m m { { {
{ {
{ { m { {
{ { m { {
{ m { { {
{ { { { { { { { { {
******************************** BOTTOM OF DATA ********************************
|
|
|
| Back to top |
|
 |
jzhardy
Active User
Joined: 31 Oct 2006 Posts: 150 Location: brisbane
|
|
|
|
| excellent! thanks, exactly what I was looking for. |
|
| Back to top |
|
 |
|
|
 |
All times are GMT + 6 Hours |
|