Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

decodificar/codificar mensajes

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: decodificar/codificar mensajes Responder citando

Hola a todos

Estoy realizando una comunicación entre PCs mediante red interna y me gustaría ponerle algo de seguridad a lo que se envía.

Me han comentado que use los componentes Indys, en especial estoy haciendo pruebas con los TidXXEncoder y el TidXXDencoder, he conseguido codificar un AnsiString y en viarlo, pero no soy capaz de realizar la decodificación y por más que miro en la ayuda no me aclaro.

Si sabeis como puedo decodificar o conoceis de algún otro componente fácil de usar para realizar un pequeña codificación/descodificación os agradecería que me la hicierais saber.

Gracias, Manolo

Volver arriba
Mensaje    Asunto: decodificar/codificar mensajes Responder citando

Puedes realizar tu propio Codificador/Decodificador con dos StringList en uno pones los caracteres que desees permitir y en el otro los mismos pero ordenados diferente, luego para codificar comparas el mensaje caracter por caracter contra la primera lista y tomando su indice escribes el correspondiente al otro StringList, y para decodificar lo mismo invirtiendo las listas.

No es un metodo superseguro pero hay que tener cierto nivel de conocimiento para romperlo, por lo menos te garantiza cierta privacidad.

Volver arriba
Mensaje    Asunto: decodificar/codificar mensajes Responder citando

una forma rapida, seria que le sumas en ascii 32 para codificar y despues restale 32 para decodificar,,,
Volver arriba
Mensaje    Asunto: decodificar/codificar mensajes Responder citando

Gracias a los dos, pero pensaba en algo un poco más complejo, sobretodo lo de sumarle a cada dígito 32 y después restarselo te lo sacan enseguida.

De todos modos gracias.

Por cierto buscando un poco más me encontré con unas rutinas de Enco/DEco escritas en pascal, si estais enteresado decírmelo y las pongo. La decodificación y la codificación las realiza dependiendo de 3 llaves, si falla alguna no decodifica bien.
Saludos Manolo

Volver arriba
Mensaje    Asunto: decodificar/codificar mensajes Responder citando

Manolo: me interesa el código en pascal de cod/dec,
Gracias.
Volver arriba
Mensaje    Asunto: decodificar/codificar mensajes Responder citando

Bueno aquí está el fuente orignal que me encontre:

Funciones de encriptación/desencriptación


Con estas dos funciones conseguirá codificar/decodificar cadenas de texto en tiempo real en su aplicación. Consta de dos llaves numéricas internas de encriptación, que podrá modificar a su gusto. Aquí se exponen las dos funciones:

==========================================

// Variables y constantes globales
var
llave:word;
encrip,i,num:integer;
const
Cons1 = 15648; // <<<-Llave numérica 1
Cons2 = 45678; // <<<-Llave numérica 2

// *****************************************

function Encriptar(cadena:string):string;
var
respuesta: string;
begin
respuesta := '';
llave := 94638; // <<<- Llave numérica 3
for i := 1 to Length(cadena) do
begin
num := (ord(cadena[i]));
encrip := num xor (llave shr Cool;
respuesta := respuesta + char(encrip);
llave := (encrip + llave) * Cons1 + Cons2;
end;
encriptar:=respuesta;
end;

function Desencriptar(cadena:string):string;
var
respuesta:string;
begin
llave:=94638; // <<<- Llave numérica 3
respuesta:='';
for i:=1 to Length(cadena) do
begin
num := (ord(cadena[i]));
encrip := num xor (llave shr Cool;
respuesta := respuesta+char(encrip);
llave := (num + llave) * Cons1 + Cons2;
end;
desencriptar:=respuesta;
end;

Espero que os ayudeç
Saludos Manolo

Volver arriba
Mensaje    Asunto: decodificar/codificar mensajes Responder citando

Se le agradece, muchacho.
Gracias.
Volver arriba
Mensaje    Asunto: decodificar/codificar mensajes Responder citando

Hola que tal,
Bueno en Algebra Abstracta hice un programa que condifica y decodifica cadenas, utilizando algebra modular. Si te interesa puedes escribirme a kenny@costachat.org
y te lo envio.

Kenny McCormick,
Saluda y escribe desde Barranquilla Colombia.

Volver arriba
Mensaje    Asunto: Responder citando

En la respuesta de Manolo: ¿alguien puede decirme que significa?

num := (ord(cadena[i]));
encrip := num xor (llave shr ;

el compilador no me coge el "ord" ni el "xor". Manolo.... ¿puedes traducir eso a c++?


Gracias
Volver arriba
Mensaje    Asunto: Respuesta ord Responder citando

Hola Carlos

La función de pascal ord es para obterner el código ASCII del acaracter que se le pasa como parámetro.

Por otra parte XOR es una OR exclusiva, en C su carácter es ^. Una cosa la carita que aparece en el código es un ocho

No se si lo sabes o ya lo has buscado el shr es un desplazamiento de bit hacia la derecha, en C se nota >>

Así las líneas quedarían de la siguiente forma:

num = (cadena[i]);
encrip = num ^ (llave>> ocho ); te escrivo el ocho por si sale otra vez la carita, ya sabes es un ocho numérico no una variable.

Espero te ayude
Saludos Manolo
Volver arriba
Mensaje    Asunto: Algoritmos de clave asimétrica Responder citando

Desconozco los componentes que mencionas, pero por darte alguna cosa mas te aconsejaría considerar SSL, que está diseñado precisamente para facilitar el tráfico seguro en una red. OpenSSL es una implementación abierta (Open Source) del protocolo:

http://www.openssl.org

Ahora mismo esa página va bastante lenta. Si no consigues acceder seguramente podrás encontrar algún mirror buscando en google.

Otra alternativa de clave asimétrica es el archiconocido PGP. Hay una aplicación similar y compatible en un altísimo grado con PGP denominada GPG, podrías echarle un vistazo a los fuentes y a partir de ahí desarrollar algo por tu cuenta.

http://www.gnupg.org/

Kerberos no lo conozco a fondo, pero creo que es otra opción bastante extendida aunque, como digo, no lo conozco y no puedo opinar. De hecho no tengo claro si es un sistema de comunicación cifrado o sólo de autentificación. No obstante, esta página parece contener bastante documentación sobre el tema.

http://www.pdc.kth.se/kth-krb/

Particularmente, me quedaría con SSL.

¡Suerte!
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: y conoceis algun componente que ya use SSL? Responder citando

- He buscado un poco por ahi.. y he visto algo.. incluso algunos q usaban openssl.. pero conoceis alguno en concreto o alguien ha usado alguno????
- Algun manual sobre programacion con SSL??????????
Saludos.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Manual de programación de SSL Responder citando

Respecto al manual de programación de SSL... pues como no podía ser de otra manera tienes uno en la página de Open SSL Wink
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.