=================================================================== RCS file: /cvs/palm/Palm-Keyring/examples/Attic/KeyRingpdbdump,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- palm/Palm-Keyring/examples/Attic/KeyRingpdbdump 2006/01/26 20:54:19 1.1 +++ palm/Palm-Keyring/examples/Attic/KeyRingpdbdump 2007/02/18 05:34:20 1.2 @@ -2,8 +2,8 @@ # # Dump a Palm PDB or PRC database. # -# $Id: KeyRingpdbdump,v 1.1 2006/01/26 20:54:19 andrew Exp $ -# $RedRiver: KeyRingpdbdump,v 1.2 2005/08/25 00:56:07 andrew Exp $ +# $Id: KeyRingpdbdump,v 1.2 2007/02/18 05:34:20 andrew Exp $ +# $RedRiver: KeyRingpdbdump,v 1.1 2006/01/26 20:54:19 andrew Exp $ use strict; use Palm::PDB; @@ -21,7 +21,7 @@ use vars qw( $VERSION %PDBHandlers %PRCHandlers $hexdump ); $VERSION = sprintf "%d.%03d_%03d_%03d", - '$Revision: 1.1 $ ' =~ m{(\d+)(?:\.(\d+))}; + '$Revision: 1.2 $ ' =~ m{(\d+)(?:\.(\d+))}; *PDBHandlers = *Palm::PDB::PDBHandlers; *PRCHandlers = *Palm::PDB::PRCHandlers; @@ -696,79 +696,6 @@ } } -sub decrypt -{ - use Digest::MD5 qw(md5); - use Crypt::TripleDES; - - my $MD5_CBLOCK = 64; - - my $data = shift; - my $pass = shift; - - my $digest = md5($pass); - - my ($key1, $key2) = unpack('a8a8', $digest); - #-------------------------------------------------- - # print "key1: $key1: ", length $key1, "\n"; - # print "key2: $key2: ", length $key2, "\n"; - #-------------------------------------------------- - - $digest = unpack('H*', $key1 . $key2 . $key1); - #-------------------------------------------------- - # print "Digest: ", $digest, "\n"; - # print length $digest, "\n"; - #-------------------------------------------------- - - my ($name, $ciphertext) = split /\0/, $data; - - my $des = new Crypt::TripleDES; - my $plaintext = $des->decrypt3($ciphertext, $digest); - - my ($account, $password, $description, $extra) = split /\0/, $plaintext, 4; - - print "Name: $name\n"; - print "Account: $account\n"; - print "Password: $password\n"; - print "Description: $description\n"; - - return $plaintext; -} - -sub keyring_verify -{ - use Digest::MD5 qw(md5); - - my $MD5_CBLOCK = 64; - - my $data = shift; - my $pass = shift; - - my $kSaltSize = 4; - my $salt = substr($data, 0, $kSaltSize); - - my $msg = $salt . $pass; - - $msg .= "\0" x ($MD5_CBLOCK - length($msg)); - - print "LENGTH: ", length $msg, "\n"; - - my $digest = md5($msg); - - print "Data: ", unpack('H*', $data); - print "\n"; - print "Digest: ", unpack('H*', $salt . $digest); - print "\n"; - - if ($data eq $salt . $digest) { - return 1; - } else { - return undef; - } - - return $digest; - #return $decrypted; -} sub hexdump { my $prefix = shift; # What to print in front of each line