Ver Mensaje Individual
  #4
Antiguo 1 de septiembre de 2018, 09:59
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Joseg, yo en tu versión haría algo así:

Código COBOL:
  1.  inspect b converting
  2.      "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" to
  3.      "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:

Código COBOL:
  1.      01  CHURRO-1                PIC X(37).
  2.      01  CHAR                    PIC X(2).
  3.      01  BYTE REDEFINES CHAR     PIC 9(2) COMP-5.
  4.      
  5.      PROCEDURE DIVISION.
  6.      
  7.          MOVE 1 TO IDX-1
  8.          
  9.          ADD 21 TO 20 GIVING BYTE
  10.          
  11.          PERFORM UNTIL IDX-1 > 37
  12.              MOVE BYTE TO CHURRO-1(IDX-1:1)
  13.              
  14.              ADD 1 TO IDX-1 BYTE
  15.              
  16.              IF  BYTE > H"5A"
  17.                  MOVE H"30" TO BYTE
  18.              END-IF
  19.          END-PERFORM

Y lo mismo para el "churro-2", pero con cálculo individual para cada posición.



NORMAS DEL FORO - para garantizar el buen funcionamiento del Foro.
¿Te han ayudado? NO TE OLVIDES de darle a
¿Quieres dirigirte a alguien en tu post? Notifícale haciendo clic en su Nick
Kuk is offline   Responder Con Cita