• Publicidad

encriptador por bits

Así que programas sin strict y las expresiones regulares son otro modo de hablar. Aquí encontrarás respuestas de nivel avanzado, no recomendable para los débiles de corazón.

encriptador por bits

Notapor sudo » 2005-11-01 15:15 @677

Hola forer@s!
Hace rato hice un encriptador/decryptador que hacía su función por caracteres, ahora lo quiero hacer por bits.
Entonces mi pregunta es la siguiente:
¿Cómo encripto por bits, SIN usar algún módulo de CPAN?
Gracias.
:roll:
Unix live free or die
sudo
Perlero nuevo
Perlero nuevo
 
Mensajes: 14
Registrado: 2005-10-01 20:08 @880

Publicidad

Notapor explorer39 » 2005-11-01 15:57 @706

Puedes utilizar las funciones pack, unpack y vec.
explorer39
 

Notapor sudo » 2005-11-02 15:18 @679

:) Hola.
No mira, yo lo que quiero es saber como encripto por entrada de bits, es decir:
Tengo un binario o un .elf, lo quiero encriptar, pero claro esta, tengo que saber el orden de bits por el que inicia hasta en el que termina el binario/elf.
Entonses como se por donde iniciar?
Cuantos bits escribir al decriptarlo?
El orden de los caracteles?
Yo se que estas funciones es para trabajar con ASCii, pero no se como guardar o escibir por orden bits, como un binario.:cry:
Gracias, de nuevo! :wink:
Unix live free or die
sudo
Perlero nuevo
Perlero nuevo
 
Mensajes: 14
Registrado: 2005-10-01 20:08 @880

Notapor explorer39 » 2005-11-02 15:47 @699

Que si, que si... que vec sirve para tratar bits en cadenas de bytes almacenadas en strings... y con pack/unpack puedes leer ristras de bytes.
Abres el fichero que quieres encriptar. Haces un bucle hasta el final del fichero. Leer una ristra de bits según unpack. Encriptas con vec. Almacenas en otro fichero con pack. Listo :-)
Todo dependerá de tu método de encriptación.
explorer39
 

Notapor sudo » 2005-11-02 18:37 @817

OK, digamos que :mrgreen: vec me solucione el prloblema, pero... Si quiero decriptarlo?
Bien, otra dudilla, la fincion crypt() es decriptable?
Gracias, salu2!
Unix live free or die
sudo
Perlero nuevo
Perlero nuevo
 
Mensajes: 14
Registrado: 2005-10-01 20:08 @880

Notapor monoswim » 2005-11-02 19:42 @862

No, la función crypt() es una función solo de ida, no de vuelta...

Sirve mucho para por ejemplo encriptar passwords y luego verificas si el password es correcto encriptando el que coloca el usuario y comparrando ambos passwords encriptados...Pero no se puede desencriptar...

Saludos
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Notapor sudo » 2005-11-04 18:03 @793

Código: Seleccionar todo
open FL, "text";
my @lines = <FL>;
my $aline;
my $a = 0;
close FL;
foreach(0 .. $#lines) {$aline = "$aline$lines[$a++]";}
my $palabras = unpack("b*", $aline);
print "$palabras\n";
my $all = pack("b*", $palabras);
open QT, "+>txt.dat";
print QT "$all";
close QT;
Funciona al 100%. ¡gracias a todos!
salu2
Unix live free or die
sudo
Perlero nuevo
Perlero nuevo
 
Mensajes: 14
Registrado: 2005-10-01 20:08 @880

Notapor aramallal » 2007-08-30 07:50 @368

Podríais explicarme este código, por favor.
Por que lo que necesito es encriptar un fichero de texto pero no sé cómo hacerlo.

Mi script se encargará de leer la información desencriptando el fichero.

Un millón de gracias y un saludo.
aramallal
Perlero nuevo
Perlero nuevo
 
Mensajes: 63
Registrado: 2007-06-12 06:29 @312

Notapor monoswim » 2007-08-30 12:34 @565

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
open FL, "text";              # abre al archivo...
my @lines = <FL>;             # guarda toda la info del archivo en el array @lines
my $aline;                    
my $a = 0;                    # crea 2 variables que se utilizarán luego
close FL;                     # cierra el archivo

foreach(0 .. $@lines) {$aline = "$aline$lines[$a++]";}  # deja toda la info del archivo en un string $aline (modifiqué un error que había en el código)

my $palabras = unpack("b*", $aline);  # desencripta la info...
print "$palabras\n";                  # imprime la info en Humano
my $all = pack("b*", $palabras);      # vuelve a encriptar la info para luego guardarla en el archivo

open QT, "+>txt.dat";
print QT "$all";
close QT;
Coloreado en 0.005 segundos, usando GeSHi 1.0.8.4


Espero que te sirva

Saludos
MonoSwim
Perl Programming Language
Avatar de Usuario
monoswim
Perlero nuevo
Perlero nuevo
 
Mensajes: 452
Registrado: 2003-11-18 16:13 @717
Ubicación: Buenos Aires

Notapor explorer » 2007-08-30 12:55 @580

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
foreach(0 .. $#lines) {$aline = "$aline$lines[$a++]";}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
Estaba bien, MonoSwim. El que has puesto sí que está mal.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España

Siguiente

Volver a Avanzado

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 46 invitados

cron