Matthias Bethke > Archive-Zip-Crypt-0.02 > Archive::Zip::Crypt

Download:
Archive-Zip-Crypt-0.02.tar.gz

Dependencies

Annotate this POD

View/Report Bugs
Module Version: 0.02   Source  

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.

syntax highlighting: