![]() |
Cita:
La suma de la cadena "207.99.99;" es igual a "247.97.99;". Mi resultado: "000151790274229935". Mi objetivo es que sea diferente. ¿Hay alguna alternativa? Gracias, José |
@Joseg, nunca he sido un crack de las formulas y algoritmos la verdad, pero me acabo de dar cuenta de otra cosa que sabemos desde el cole y se nos ha escapado...
El cálculo lo hacemos así: Código COBOL:
De esta manera, primero se hace la multiplicación. Si lo hacemos así, con paréntesis, para que primero se haga la suma: Código COBOL:
Entonces a mi me da 2 valores diferentes: Código:
207.99.99; --> 759816616914665856 |
Cita:
Muchas gracias, Kuk. Cambiaré la fórmula. Sin embargo, chatGTP sugirió este ejemplo, lo que garantiza que siempre funciona, independientemente del orden de los dígitos/caracteres. Código COBOL:
|
1 Archivos Adjunto(s)
Cita:
|
Cita:
El cliente detectó otro error. Los códigos: 105.02.11 y 115.01.11 dan el mismo valor: 298955437302929664. Creo que hay que tener en cuenta la posición en la que se introducen los dígitos. ¿Puedes ayudarme? Gracias Jose |
1 Archivos Adjunto(s)
@Joseg, para no reinventar la rueda, vamos a optar por soluciones estándar, como es el caso de OpenSSL: https://es.dll-files.com/libcrypto.dll.html
Con esta solución generamos un HASH, en el caso concreto, el SHA256: Código COBOL:
Tienes que crear una nueva PROCEDURE y llamarla HEX, su contenido es el siguiente: Código COBOL:
No olvides lo de ALPHAL(WORD) e incluir la KERNEL32.LIB. Resultados: [TABLE]Valor|sha256 105.02.11|45A5AC763720497A3054E1A5C1C24DB458CE0C30 79F9AD2AB9496EAF9EAC087B 115.01.11|2B83108827E847A74B0886AB2E532E3F79988131 A61546499C3B08F32E4DB9F5 207.99.99|8189CCD84246547FD968902606574828E03D332D 2A9D65D9FCA11868303CA8B9 247.97.99|D9DCC2614B2499CCEEF96484C65855258D7CD2AF 8DEA2E5079C7F13860D9C323 [/TABLE] ¡¡¡Esto ya NO PUEDE fallar!!! :D |
Kuk,
Muchas gracias por tu trabajo. Creo que esta es una solución más sólida que podría interesar al resto de la comunidad. Ya la he probado y parece funcionar bien. Cita:
|
| La franja horaria es GMT +2. Ahora son las 15:44. |
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.