Perl en Español

  1. Home
  2. Tutoriales
  3. Foro
  4. Artículos
  5. Donativos
  6. Publicidad
 

Cómo funciona la encriptación, y cómo encriptar con Perl

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio
Mensaje Sab Mar 25, 2006 3:32 pm
creating021
Vive para Perl en Español
Vive para Perl en Español
Registrado: 23 Feb 2006
Mensajes: 486
Ubicación: Frente al monitor
Cómo funciona la encriptación, y cómo encriptar con Perl Responder citando

Hola ha todos.
he visto una series de prgoramas en perlmoks.org de encriptacio, pero no he podido comprender la logica para poder hacer uno.
Como es para algo simple les agradeceria si me explicaran como funciona un simple encriptador como Solitare.
Gracias.
Mensaje Sab Mar 25, 2006 8:13 pm
kidd
Creador de Perl en Español
Creador de Perl en Español
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
Responder citando

Hola:

¿Qué es la encriptación?

WikiPedia escribió:

Encriptación es el proceso mediante el cual cierta información o "texto plano" es cifrado de forma que el resultado sea ilegible a menos que se conozcan los datos necesarios para su interpretación. Es una medida de seguridad utilizada para que al momento de almacenar o transmitir información sensible ésta no pueda ser obtenida con facilidad por terceros.


De forma sencilla, la encriptación es el intercambio de carácteres por medio de fórmulas para esconder algún texto.

Por ejemplo, hagamos una encriptación muy sencilla (qué no deberías de usar en el mundo real Wink ):

Código:

sub encriptar{
    my $text = shift;

    $text =~ s/a/01/g;
    $text =~ s/b/02/g;
    $text =~ s/c/03/g;
    $text =~ s/d/04/g;
    $text =~ s/e/05/g;

    return($text);
}


Entonces, si usas la función lo que haces es sustuir las letras por valores númericos.

Ahora, los decriptadores lo que hacen es usar la clave que tienes en la inversa, en este caso convertir los valores númericos a letras.

Como es lógico hay diferentes grados de encriptación, hay unos que usan fórmulas matemáticas muy avanzadas con sustituciones realmente complejas, lo que hace que sea prácticamente imposible decodificarlo sin la clave correcta.

En Perl hay varios módulos que puedes usar para realizar encriptación, aunque te aviso que debes de checar las leyes de tu país en cuanto a encriptación, pues hay unos países donde está prohíbido el uso de encriptadores de cierta complejidad, sin embargo hay unos más simples que puedes usar sin problemas.

Módulos de encriptación en Perl


Saludos
Mensaje Dom Mar 26, 2006 8:54 am
creating021
Vive para Perl en Español
Vive para Perl en Español
Registrado: 23 Feb 2006
Mensajes: 486
Ubicación: Frente al monitor
Responder citando

Gracias por la info Wink
Creo que me compraré este libro:
http://www.cacr.math.uwaterloo.ca/hac/
Cita:
aunque te aviso que debes de checar las leyes de tu país en cuanto a encriptación, pues hay unos países donde está prohibido el uso de encriptadores de cierta complejidad

Hmm, me pongo a buscar esto, realmente no lo sabía.
Nuevamente gracias
Mensaje Sab Oct 25, 2008 9:25 pm
The VenoM
Perlero Nuevo
Perlero Nuevo
Registrado: 17 Oct 2008
Mensajes: 2
Encriptación en Perl Responder citando

Estuve tratando de hacer un encriptador en Perl, pero no me funciona... me dice: Panic: utf16_to_utf8: odd byte len 25.

Perl:
#!/usr/bon/perl/

print "texto a encriptar: $text \n";
$text = <STDIN> ;

print "Se encriptara $text\n";

$_=$text;

s/a/01/g;
s/b/02/g;
s/c/03/g;
s/d/04/g;
s/e/05/g;


print $text;


Y también hice este para que cuando termine de encriptar, guarde el hash en un archivo.txt:

Perl:
#!/usr/bon/perl/

print "texto a encriptar: $text \n";
$text = <STDIN> ;

print "Se encriptara $text\n";

$_=$text;

s/a/01/g;
s/b/02/g;
s/c/03/g;
s/d/04/g;
s/e/05/g;


print $_;
print "Se guardara en esta misma carpeta\n";
open(FILE,">codigo encriptado.txt");
print FILE "$_";
close(FILE);
print "Guardado\n";
exit(0)


Gracias.
Mensaje Dom Oct 26, 2008 4:52 pm
explorer
Moderador
Moderador
Registrado: 24 Jul 2005
Mensajes: 4123
Ubicación: Valladolid, España
Responder citando

Bienvenido a los foros de Perl en Español, The VenoM.

Creo que hay un error en las primeras líneas de los programas. Donde dice 'bon' debería ser 'bin'. Aunque si estás en Windows, no será importante.

En cuanto al error, es muy posible que sea culpa del editor de textos que estás usando para escribir el código. Quizás ha insertado un BOM al comienzo del texto.
Mensaje Mie Oct 29, 2008 5:22 pm
The VenoM
Perlero Nuevo
Perlero Nuevo
Registrado: 17 Oct 2008
Mensajes: 2
Responder citando

Sí, muchas gracias, explorer, ya lo pude reparar =)
así funcionaría el código:
Perl:
#!/usr/bin/perl/

print "texto a encriptar: $text \n";
$text = <STDIN> ;

print "Se encriptara $text\n";

$_=$text;

s/a/01/g;
s/b/02/g;
s/c/03/g;
s/d/04/g;
s/e/05/g;


print $_;




El problema no era el 'bon' aunque fue un error mío al codearlo, estoy en Windows... sino que cuando lo probé solo probé el primer código... el segundo supuse que no funcionaría pero en el segundo había puesto print $_; lo cuál en el 1º no puse. Muchas Gracias, igual, explorer Wink
Publicar nuevo tema   Responder al tema    Foros de discusión -> Intermedio Todas las horas son GMT - 6 Horas
Página 1 de 1



Powered by phpBB © 2001, 2005 phpBB Group