[perl] encryptie

Pagina: 1
Acties:

  • Daniel304
  • Registratie: December 2000
  • Laatst online: 14-08 14:02
Ik heb een database waarin wachtwoorden opgeslagen gaan worden.
Deze wil ik doormiddel van een key based encrypty methode versleutelen.
Ik gebruik hiervoor Blowfish toch een redelijke encrypty neem ik aan ?!?
Helaas wil Blowfish en zo ook de meeste andere encrypty methode zoals des en rc6 een input string hebben van 8 byte
nu dacht ik slim te zijn en doe dit
Perl:
1
2
3
4
5
6
$crypt_key = "een md5 hash";
$password = pack("H16", "$password");
$cipher       = new Crypt::Blowfish $crypt_key;
$password = $cipher->encrypt($password);

$password wordt opgeslagen in database;

om ze te recoveren doe ik
Perl:
1
2
3
4
5
6
$password wordt opgehaald uit database;

$crypt_key = "dezelfde md5 hash";
$cipher       = new Crypt::Blowfish $crypt_key;
$password = $cipher->decrypt($password);
$password = unpack("H16", "$password");

Ik krijg hier totaal verschillende wachtwoorden uit helaas...
iemand een idee om die pack en unpack achterwegen te kunnen laten ?!?
misschien andere encryptie ?!?

[ Voor 5% gewijzigd door Daniel304 op 18-11-2003 16:53 ]


  • Apollo_Futurae
  • Registratie: November 2000
  • Niet online
Ik kan zo gauw niets vinden over een Crypt class, maar moet je niet iets als decrypt() gebruiken om te ontcijferen i.p.v. encrypt() :?.

Pas de replâtrage, la structure est pourrie.


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 09-01 11:25

D2k

crypt is one way (md5 hashen dito)

Doet iets met Cloud (MS/IBM)


Verwijderd

http://search.cpan.org/~d...Blowfish-2.09/Blowfish.pm
code:
1
2
3
4
use Crypt::Blowfish;
  my $cipher = new Crypt::Blowfish $key; 
  my $ciphertext = $cipher->encrypt($plaintext);
  my $plaintext  = $cipher->decrypt($ciphertext);

  • Daniel304
  • Registratie: December 2000
  • Laatst online: 14-08 14:02
mijn excuses ik had een klein foutje gemaakt maar dit heb ik hersteld. Crypt kan zeker wel degelijk both ways zijn met een key.. kijk maar naar blowfish.. het werkt ook alleen wanneer het wachtwoord 8bytes lang is.. niet langer niet korter...

  • Daniel304
  • Registratie: December 2000
  • Laatst online: 14-08 14:02
Ik heb het gevonden...
encrypten met Rijndael
Perl:
1
2
3
4
$cipher = new Crypt::Rijndael $crypt_key;
# omzetten naar een 64byte string
$packed_text = pack("A64", "$normal_text");
$cipher_text = $cipher->encrypt($packed_text);

decrypen met Rijndael
Perl:
1
2
3
$cipher = new Crypt::Rijndael $crypt_key;
$packed_text = $cipher->decrypt($cipher_text);
$normal_text = unpack("A64", "$packed_text");

[ Voor 25% gewijzigd door Daniel304 op 20-11-2003 09:10 ]

Pagina: 1