Resultados 1 al 5 de 5

Tema: Gerar Serial Number

  1. #1
      Junior
    P

    Registrado
    marzo de 2018
    Ubicación
    Porto
    Mensajes
    75
    Última visita
    Ayer a las 18:21

    Agradecimientos
     
    Recibidos
    23
    Enviados
    22

    Citaciones y menciones
     
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    1 Post(s)
    Poder de Reputación
    8

    Predeterminado Gerar Serial Number

    Olá a todos.
    Alguém tem ou pode indicar uma rotina para gerar um numero de série a partir de uma string ?
    Gracias

    0 Not allowed!

  2. #2
      Senior
    Avatar de Joseg

    Registrado
    abril de 2015
    Mensajes
    331
    Última visita
    02.04.2024

    Agradecimientos
     
    Recibidos
    147
    Enviados
    92

    Citaciones y menciones
     
    Mentioned
    28 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    4 Post(s)
    Poder de Reputación
    21
    Activista del Foro / Point Value: 0 Innovación / Point Value: 0

    Predeterminado

    Cita Iniciado por Paulo Ver Mensaje
    Olá a todos.
    Alguém tem ou pode indicar uma rotina para gerar um numero de série a partir de uma string ?
    Gracias
    O que eu já fiz:
    Achar o valor decimal de cada caractere da string, multiplicar por por um numero fixo ou pela data.
    mas há muitas outras formas, tudo depende da complexidade que se quer por nesse numero de série e qual o objectivo.
    Num caso concreto o resultado da string multipliquei pelo numero de série do disco rígido.

    Se o objectivo é segurança ainda se pode fazer algo do tipo:
    COBOL Código:
    1. 01 b x(100).
    2. .
    3. .
    4. .
    5. inspect b converting
    6. "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789" to
    7. "BCDEFGHIJKLMNOPQRSTUVWXYZ0123456789A"


    Jose Manuel

    0 Not allowed!

  3. #3
      Guardián del Foro
    Avatar de Fito

    Registrado
    febrero de 2015
    Ubicación
    Córdoba, Villa María
    Edad
    53
    Mensajes
    410
    Última visita
    Ayer a las 17:17

    Agradecimientos
     
    Recibidos
    208
    Enviados
    225

    Citaciones y menciones
     
    Mentioned
    53 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    3 Post(s)
    Poder de Reputación
    26
    Agradecimientos / Point Value: 0 Guardián del Foro / Point Value: 0 Activista del Foro / Point Value: 0

    Predeterminado

    Hola:

    Tambien podes redefinir el string y hacer distintos cálculos para encontrar una clave, que cuando la quieras controlar volves a realizar la misma rutina y comparar si te da el mismo resultado.

    COBOL Código:
    1. 01  nombre                   pic x(100).
    2. 01  redefines nombre.
    3.     02 letra                 pic 9999 comp-4 occurs 100 times
    4. 01  suma                     pic 9(8).
    5. 01  ii                       pic 999.

    Por ejemplo podrías hacer una rutina parecida a ésta:

    COBOL Código:
    1.      move zeros           to suma.
    2.      perform varying ii from 1 by 2 until ii > 100
    3.         compute suma = suma + letra(ii) + (ii / 6)
    4.      end-perform.
    5.      perform varying ii from 2 by 2 until ii > 100
    6.         compute suma = suma + letra(ii) + (ii / 3)
    7.      end-perform.

    Cualquier tipo de cálculo, para el caso es lo mismo. Y te va a dar un valor en la variable "suma" que es la que tenés como serial.

    Saludos.


    Fito...

    0 Not allowed!

  4. #4
      Administrador
    Avatar de Kuk

    Registrado
    enero de 2015
    Ubicación
    Madrid
    Edad
    39
    Mensajes
    2,286
    Última visita
    Hoy a las 18:48

    Agradecimientos
     
    Recibidos
    1,036
    Enviados
    888

    Citaciones y menciones
     
    Mentioned
    102 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    31 Post(s)
    Poder de Reputación
    10

    Predeterminado

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

    COBOL Código:
    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:

    COBOL Código:
    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.

    0 Not allowed!
    ¿Te han ayudado? NO TE OLVIDES de darle al botón
    ¿Quieres dirigirte a alguien en tu post? Notifícale con una mención, tienes 2 opciones:
    1. Haciendo clic en el icono al lado de su nick
    2. Haciendo clic en el botón en el editor y escribiendo su nick.

  5. #5
      Junior
    P

    Registrado
    marzo de 2018
    Ubicación
    Porto
    Mensajes
    75
    Última visita
    Ayer a las 18:21

    Agradecimientos
     
    Recibidos
    23
    Enviados
    22

    Citaciones y menciones
     
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)
    Quoted
    1 Post(s)
    Poder de Reputación
    8

    Predeterminado

    Vou testar os vossos exemplos e ver qual o que melhor se adequa ao que pretendo, que é uma chave relativamente simples.
    Gracias

    0 Not allowed!

Información de Tema

Usuarios Viendo este Tema

Actualmente hay 1 usuarios viendo este tema. (0 miembros y 1 visitantes)

Temas Similares

  1. [Aporte] Ligar ao Site da União Europeia VAT Number
    Por Rapinto en el foro Cocina PowerCOBOL + COM/OLE
    Respuestas: 22
    Último Mensaje: 07.09.2022, 10:19
  2. [Sintaxis] Capturar Puerto Serial
    Por Juanes en el foro RM/COBOL
    Respuestas: 2
    Último Mensaje: 19.07.2016, 12:03
  3. [Noticia] Comando Impresion serial
    Por Roger en el foro PowerCOBOL (ActiveX, v4 - v11)
    Respuestas: 3
    Último Mensaje: 20.01.2016, 18:01

Marcadores

Marcadores

Permisos de Publicación

  • No puedes crear nuevos temas
  • No puedes responder temas
  • No puedes subir archivos adjuntos
  • No puedes editar tus mensajes
  •