Post by Sylvain SFmcrypt_decrypt()
mcrypt_encrypt()
ou
mcrypt_generic[_xxxx]()
C'est compatible avec le « standard » Zip ? Parce que j'ai essayé
quelque chose, mais ce n'est pas très concluant :
== 8< === exzip.php ==
<?php
$zip = new ZipArchive ;
$ret = $zip->open('toto.zip', ZipArchive::CREATE) ;
$content =<<<EOS
<?xml version='1.0'?>
<toto>
<blague />
</toto>
EOS;
$zip->addFromString('toto.xml', $content) ;
$cipher = mcrypt_module_open('des', null, 'ecb', null) ;
$iv = mcrypt_create_iv (mcrypt_enc_get_iv_size($cipher), MCRYPT_RAND);
mcrypt_generic_init($cipher, 'totoro', $iv) ;
$crypted = mcrypt_generic($cipher, $content) ;
mcrypt_module_close($cipher) ;
$zip->addFromString('toto.sxml', $crypted) ;
$crypted = null ;
$zip->close() ;
== 8< === exzip.php ==
Lorsqu'on ouvre l'archive, il n'y a pas la demande de mot de passe.
Je pense qu'il faut créer un en-tête Zip spécifique pour le fichier
crypté. Et j'ai pas envie de fouiller
http://www.pkware.com/documents/casestudies/APPNOTE.TXT pour trouver
comment ;) Mais à ce que j'ai compris, les outils nécessaires pour faire
un zip « protégé » comme il faut, il n'y a pas la fonctionnalité qui va
bien.
--
Mickaël Wolff aka Lupus Michaelis
http://lupusmic.org