NAME
Archive::Zip::Crypt - Unpacking of password protected archives for Archive::Zip
VERSION
Version 0.02
SYNOPSIS
This is a little hack that adds the capability to unpack password-protected archives to Archive::Zip. It adds a password()
method to Archive::Zip::Member (passwords may be different for different archive members!) and overwrites a few others so they can use the decryption functionality, so it may break wit Archive::Zip versions >1.30. This is a pure Perl implementation and really slow as bit-fiddling stuff in Perl tends to be.
use Archive::Zip;
use Archive::Zip::Crypt;
my $zip = Archive::Zip->new($archive_name) or die "can't unzip";
foreach my $member_name ($zip->memberNames) {
my $member = $zip->memberNamed($member_name);
next if $member->isDirectory;
$member->password($password);
my $contents = $zip->contents($member) or die "error accessing $member_name";
}
Note: it is important to use Archive::Zip
first, so Archive::Zip::Crypt
can smear its bugs all over the former's namespace.
METHODS
Archive::Zip::Member::password($password)
Set the encryption password on a member if called with an argument. Always returns the current password.
AUTHOR
Matthias Bethke, <matthias at towiski.de>
BUGS
None known but highly likely to be there. Please report any bugs or feature requests to bug-archive-zip-crypt at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Archive-Zip-Crypt. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
ACKNOWLEDGEMENTS
This was written as part of a project for 1&1 Internet AG. Thanks to them for supporting OSS!
LICENSE AND COPYRIGHT
Copyright 2008-2012 Matthias Bethke.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.