🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.os.linux.programacion
2 messages
2 total messages Started by Matt Fri, 05 Jan 2007 18:50
Ayuda con encrypt
#638
Author: Matt
Date: Fri, 05 Jan 2007 18:50
56 lines
2732 bytes
Hola a todos,

Estoy intentando cifrar (y descifrar tambi�n) un texto con la llamada al 
sistema encrypt (ojo, no crypt).

No consigo que me funcione, ya que el texto "cifrado" que me devuelve es 
una cadena vac�a. Me temo que hago algo mal con la key (la he definido 
con un n�mero impar de '1' como parece que se debe hacer), pero no tengo 
ni idea.

�Alguien podr�a explicarme c�mo utilizar correctamente encrypt()??

El programa de ejemplo que estoy usando es este:

#include <unistd.h>
#include <iostream>
#include <crypt.h>
#include <stdio.h>

int main()
{
         char txt[64] = "texto a cifrar";
         char key[] = {
                        '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0',
                        '\1', '\1', '\0', '\1', '\0', '\0', '\0', '\0',
                        '\1', '\0', '\0', '\0', '\1', '\0', '\0', '\1',
                        '\0', '\1', '\1', '\0', '\0', '\0', '\1', '\0',
                        '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0',
                        '\1', '\0', '\1', '\0', '\0', '\0', '\0', '\0',
                        '\0', '\0', '\0', '\1', '\0', '\0', '\1', '\0',
                        '\1', '\1', '\1', '\0', '\0', '\1', '\1', '\1' 
                        		     };

         std::cout << "Texto   : '" << txt << "'" << std::endl;

         setkey(key);

         encrypt( txt, 1 );

         std::cout << "Cifrado : '" << txt << "'" << std::endl;

         return 0;

}

La salida del programa es esta:

Texto   : 'texto a cifrar'
Cifrado : ''

O sea, mal. Tambi�n he comprobado errno, y da 0 despu�s de las llamadas 
a setkey y encrypt.

�Alguna ayuda?

Gracias por adelantado, y un saludo
Re: Ayuda con encrypt
#639
Author: arrase
Date: Fri, 05 Jan 2007 21:00
19 lines
1729 bytes
Matt escribi�:

>         encrypt( txt, 1 );
> 

En el man pone que '1' es para desencriptar, y tu quieres encriptar:

La funcion encrypt() modifica el buffer pasado, cifrando si  edflag  es
0, y descifrando si se pasa un valor 1.


-- 
<arrase@gulcas.org><http://arrase.no-ip.org><www.gulcas.org>
     <Gnupg Keys: http://arrase.no-ip.org/pubkey.txt>

print "".join(map(lambda numChar:filter(lambda x:(x<"0") or \
(x>"9"),numChar),["0"+chr(104)+"0","1"+chr(111)+"1","2"+chr(108)+"2", \
"3"+chr(97)+"3","4"+chr(32)+"4","5"+chr(109)+"5","6"+chr(117)+"6", \
"7"+chr(110)+"7","8"+chr(100)+"8","9"+chr(111)+"9"]))
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads