@Joseg, yo en tu versión haría algo así:
COBOL Código:
inspect b converting
"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" to
"HC79QWH8J52IBOZFRST6VGXYP01L34KUDMEA"
Pero además hay un punto, que es que los literales de guardan en el binario/ejecutable tal cual. Es decir, con un editor hexadecimal se podría fácilmente extraer las correspondencias.
Para que esto no pase, habría que construir cada "churro" vía cálculos, algo tipo esto:
COBOL Código:
01 CHURRO-1 PIC X(37).
01 CHAR PIC X(2).
01 BYTE REDEFINES CHAR PIC 9(2) COMP-5.
PROCEDURE DIVISION.
MOVE 1 TO IDX-1
ADD 21 TO 20 GIVING BYTE
PERFORM UNTIL IDX-1 > 37
MOVE BYTE TO CHURRO-1(IDX-1:1)
ADD 1 TO IDX-1 BYTE
IF BYTE > H"5A"
MOVE H"30" TO BYTE
END-IF
END-PERFORM
Y lo mismo para el "churro-2", pero con cálculo individual para cada posición.
Marcadores