Cobol Foro
Navegación en el Foro
Retroceder   Cobol Foro Entornos de desarrollo y compiladores Cobol Fujitsu COBOL PowerCOBOL (ActiveX, v4 - v11)
PowerCOBOL (ActiveX, v4 - v11) Versiones del IDE basadas en ActiveX
 
Otros temas que te pueden interesar
Tema Autor Foro Respuestas Último post
[Duda] Texto enriquecido Josber PowerCOBOL (ActiveX, v4 - v11) 3 4 de mayo de 2024 15:34
[Sintaxis] Tamaño del texto de la pantalla Begoguay PowerCOBOL (ActiveX, v4 - v11) 9 14 de febrero de 2019 23:12
[Sintaxis] Texto inicial en un Textbox dmosca PowerCOBOL (ActiveX, v4 - v11) 4 25 de julio de 2017 17:45
[Sintaxis] Pasar CSV a texto plano theezraak RM/COBOL 8 24 de octubre de 2016 11:01
[Sintaxis] Pasar datos a texto plano Matias PowerCOBOL (ActiveX, v4 - v11) 6 12 de agosto de 2016 19:47

Respuesta
 
Herramientas

  #1
Antiguo 13 de junio de 2016, 21:02
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492
Predeterminado Encriptar Texto
0 Inactivo Inactivo

¿Conocéis algún ocx libre para encriptar texto?, o ¿alguna rutina?, que sea libre. Tengo que encriptar un texto de 400 carácteres antes de grabarlo y he estado buscando y no hay nada util, no hace falta que sea una "encriptación dura", con una encriptación sencilla, me conformaría. En recursosvisualbasic, hay algo, pero o no funcionan o no consigo que funcionen.

gracias y un saludo.-
Josber is offline   Responder Con Cita
  #2
Antiguo 14 de junio de 2016, 00:21
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Josber, toma tío, es una DLL que he hecho yo en COBOL, algoritmo mío. No se ve nada de nada ni en hexadecimal

Trabaja con cadenas de PIC X(50). Si necesitas más, llámala varias veces.

Para llamarla:

Código COBOL:
  1.  ENVIRONMENT     DIVISION.
  2.  DATA            DIVISION.
  3.  WORKING-STORAGE SECTION.
  4. *>  LINKAGE DE LLAMADA
  5.  01  LNK-KCRYPT. *> E - encripta, D - decripta
  6.      05  LNK-OPCION      PIC X.     *> Modo de llamada E/D
  7.      05  LNK-TEXTO       PIC X(50).
  8.      05  LNK-ENCRIPT     PIC X(50).                
  9.                                                    
  10.  PROCEDURE DIVISION.                                
  11.     *> EJEMPLOS
  12.    
  13.      *> Encripta:
  14.      MOVE "E" TO LNK-OPCION                          
  15.                                                    
  16.      MOVE "ABCDEFGHIJ012345678912345" &            
  17.           "ABCDEFGHIJ012345678912345" TO LNK-TEXTO
  18.                                                    
  19.      CALL "KCRYPT" USING  LNK-KCRYPT              
  20.                                                    
  21.      MOVE LNK-ENCRIPT TO POW-TEXT OF CmText1
  22.    
  23.      *> Decripta:
  24.      MOVE "D" TO LNK-OPCION                          
  25.                                                    
  26.      MOVE POW-TEXT OF CmText1 TO  LNK-ENCRIPT  
  27.                                                      
  28.      CALL "KCRYPT" USING LNK-KCRYPT              
  29.                                                    
  30.      MOVE LNK-TEXTO TO POW-TEXT OF CmText2

Verás qué bonita la porquería que se ve en encriptado
Archivos Adjuntos
Tipo de Archivo: zip KCRYPT.zip (82,0 KB)Descargas: 177



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
  #3
Antiguo 14 de junio de 2016, 10:37
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

Kuk, He añadido el .lib al proyecto y he copiado la librería y la dll, en la carpeta de los ejecutables y dll's y, además, en la carpeta donde está el proyecto y al abrir el programa, me da un mensaje de error diciéndome "No se puede encontrar el módulo especificado"

¿Me falta algo?

Muchas gracias y un saludo.-
Josber is offline   Responder Con Cita
  #4
Antiguo 14 de junio de 2016, 10:50
Joseg
El Foro es mi casa
Activista del Foro: Activista del Foro - Issue reason: Por participación activa Innovación: Por aportar innovaciones - Issue reason: Por aportar soluciones innovadoras en varias ocasiones 
Última Actividad 17.09.2026 18:23
Posts Posts: 401
Likes enviados Enviados: 130
Likes recibidos Recibidos: 179

Citación del post de Josber Ver Mensaje
¿Conocéis algún ocx libre para encriptar texto?, o ¿alguna rutina?, que sea libre. Tengo que encriptar un texto de 400 carácteres antes de grabarlo y he estado buscando y no hay nada util, no hace falta que sea una "encriptación dura", con una encriptación sencilla, me conformaría. En recursosvisualbasic, hay algo, pero o no funcionan o no consigo que funcionen.

gracias y un saludo.-
Um dos recursos mais poderosos é usar o "openssl" (opensource)
Exemplo usando chamada por linha de comandos:
Código:
openssl dgst -sha1 -sign keyprivada.pem -out codificar.sha1   texto_a_codificar.txt
openssl enc -base64 -in codificar.sha1 -out resultado.txt -A.
Possibilidade de se usar chaves publicas/privadas ou simplesmente encriptar qualquer coisa.
Joseg is offline   Responder Con Cita
  #5
Antiguo 14 de junio de 2016, 11:09
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Josber, tienes que meter la DLL en la carpeta del ejecutable, o sea en %proyecto%\Debug para que la DLL esté en el mismo directorio del programa que la llama.



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
  #6
Antiguo 14 de junio de 2016, 11:32
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

Citación del post de Kuk Ver Mensaje
tienes que meter la DLL en la carpeta del ejecutable, o sea en %proyecto%\Debug para que la DLL esté en el mismo directorio del programa que la llama.
Nada, sigue igual, tengo una carpeta que es C:\Vialca, que es donde están los proyectos y otra carpeta que es C:\app, que es donde están el programa principal y las dll de los proyectos.

Dentro de C:\Vialca, hay una carpeta que se llama Mensajes y dentro de esta, está la carpeta DEBUG del proyecto, he copiado ahí la dll, pero además la he copiado también en C:\app, por si acaso, y en el proyecto, he añadido la librería que está en C:\app

He hecho un ReBuid completo por si acaso y nada, el mismo error.

Un saludo.-
Josber is offline   Responder Con Cita
  #7
Antiguo 14 de junio de 2016, 12:51
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Josber, algo debes estar haciendo mal porque lo probé ayer en Power 9 y funcionaba y acabo de comprobarlo en PWC3 y también funciona (con el fichero COBOL85.CBR, no coge la *.LIB).

Da igual dónde tienes la LIB para añadirla al proyecto, también da igual dónde está la DLL cuando compilas. Si compila bien significa que ha cogido bien la LIB. Ahora, donde te haya generado el EXE del proyecto, en esa misma carpeta debes copiar la DLL (no la LIB), y siempre que copies a algún lado el ejecutable, también debes copiar la DLL.

Por cierto, qué componente dice que no encuentra, el KCRYPT.dll o algún otro?



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
  #8
Antiguo 14 de junio de 2016, 13:45
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

Lo tengo como dices, al compilar, no da ningún error, pero al hacer la llamada a la dll de mi programa, da el error que te adjunto. Si en mi programa, pongo un comentario a la linea

Código COBOL:
  1.                CALL "KCRYPT" USING LNK-KCRYPT

Entonces es cuando da el error, y el caso es que ésta linea no está en el evento Opened, sin en el Click de un botón, osea que no llega ni a ejecutarse, lo hace solo.

Un saludo.-

Miniatura de Adjuntos
Pulsar la imagen para la versión amplia
Nombre:  Error.jpg
Vistas: 128
Tamaño:  19,0 KB  
Josber is offline   Responder Con Cita
  #9
Antiguo 14 de junio de 2016, 14:24
Kuk
Administrador
Última Actividad 19.09.2026 20:11
Posts Posts: 2.500
Likes enviados Enviados: 1037
Likes recibidos Recibidos: 1207

Josber, joe una cosa muy rara macho...

Lo de que no esté en el evento "Opened", no tiene nada que ver. Todo lo que esté LINK-eado (las *.LIB) en el ejecutable, se hace un scan antes de la ejecución si todos los módulos son encontrados. Es decir, las dependencias con las DLL LINK-eadas vía una LIB son comprobadas antes de ejecutar el programa, si no encuentra alguna, pues falla.

Entonces si comentas la línea de la llamada todo va bien?

Intenta hacerlos sin la LIB, o sea, vía fichero COBOL85.CBR:
Código:
[P-MENSAJE.Entry]
KCRYPT=KCRYPT.dll
Y haz la llamada DINÁMICA, de la siguiente manera:
Código COBOL:
  1.  ENVIRONMENT     DIVISION.                                  
  2.  DATA            DIVISION.                                  
  3.  WORKING-STORAGE SECTION.                                  
  4. *>  LINKAGE DE LLAMADA                                    
  5.  01  LNK-KCRYPT. *> E - encripta, D - decripta              
  6.      05  LNK-OPCION      PIC X.     *> Modo de llamada E/D  
  7.      05  LNK-TEXTO       PIC X(50).                        
  8.      05  LNK-ENCRIPT     PIC X(50).                        
  9.                                                            
  10.  01  KCRYPT              PIC X(6) VALUE "KCRYPT".          
  11.  PROCEDURE DIVISION.                                        
  12.     *> EJEMPLOS                                            
  13.                                                            
  14.      *> Encripta:                                          
  15.      MOVE "E" TO LNK-OPCION                                
  16.                                                            
  17.      MOVE "ABCDEFGHIJ012345678912345" &                    
  18.           "ABCDEFGHIJ012345678912345" TO LNK-TEXTO          
  19.                                                            
  20.      CALL KCRYPT USING LNK-KCRYPT                          
  21.                                                            
  22.      MOVE LNK-ENCRIPT TO POW-TEXT OF CmText1                
  23.                                                            
  24.      *> Decripta:                                          
  25.      MOVE "D" TO LNK-OPCION                                
  26.                                                            
  27.      MOVE POW-TEXT OF CmText1 TO  LNK-ENCRIPT              
  28.                                                            
  29.      CALL KCRYPT USING LNK-KCRYPT                          
  30.                                                            
  31.      MOVE LNK-TEXTO TO POW-TEXT OF CmText2                  



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
  #10
Antiguo 14 de junio de 2016, 17:27
Josber
Moderador Global
Activista del Foro: Activista del Foro - Issue reason: Por aportar manuales y enriquecer  Agradecimientos: Por muchos agradecimientos de parte de los Foreros - Issue reason: Por muchos agradecimientos 
Última Actividad 20.09.2026 12:17
Posts Posts: 883
Likes enviados Enviados: 418
Likes recibidos Recibidos: 492

Citación del post de Kuk Ver Mensaje
Intenta hacerlos sin la LIB, o sea, vía fichero COBOL85.CBR:
Código:
[P-MENSAJE.Entry]
KCRYPT=KCRYPT.dll
Ahora sí que funciona perfectamente Kuk, encripta y desencripta sin problemas. Me imaginaba que el módulo comprobaba las librerías antes de abrir el programa y daba algún error y por eso no se ejecutaba.

He visto como queda el fichero encriptado y es perfecto.

Por cierto, si lo que necesito es encriptar un texto más pequeño de 50 carácteres, por ejemplo de 10, el retorno encriptado sería:

Código COBOL:
  1.      MOVE LNK-ENCRIPT (1:10) TO  ...

¿o el tamaño del retorno es distinto al de envío?.

Mil gracias.-

Citación del post de Joseg Ver Mensaje
Um dos recursos mais poderosos é usar o "openssl" (opensource)
He estado viendo un poco el tema, y eso es para encriptar fichero de texto, y no es lo que yo quería, yo lo que necesitaba era encriptar una variable antes de guardarla en un archivo.

Un saludo y gracias a todos.-
Josber is offline   Responder Con Cita
Respuesta



Derechos de Publicación
No puedes publicar nuevos temas
No puedes publicar posts/responder
No puedes adjuntar archivos
No puedes editar tus posts

BB code is habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado

Saltar a Foro


La franja horaria es GMT +2. Ahora son las 14:42.
Powered by: vBulletin, Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.