sábado, marzo 01, 2008

Zip con password en java

De esos requerimientos raros que piden en el trabajao, enzipar un archivo usando clave, claro, hacerlo con java y del lado de un AIX.

La cosa no es tan trivial como parece, uno puede pasarse leyendo cientos de post acerca de esto y ninguno aporta una solucion, todos excepto este: Cryptography - Generating AES encrypted zip files for winzip, esta respuesta la consegui despues de haber leido la parte del standar de winzip y de pkware y casi despues de haberme resignado y pensado que lo iba a implementar desde 0 y despues de probar que las clases de criptografia de sun no me daban los resultados que necesitaba para implementarlo.

Hay un bug en sun, pero esta abierto desde el 2000 y dudo que vallan a implementarlo dentro del api oficial.

2 comentarios:

Unknown dijo...

Hay una forma de hacerlo, pero es con las librerías de Chilkat... y la licencia está como en $149USD por desarrollador o.O... a menos que la empresa esté dispuesto a pagarlo, tendrás que buscar el algoritmo o el flujo de información que sigue winzip para ponerle password a los zip, y tratar de emularlo en Java...

Mucha suerte amigo, yo también ando en la misma situación

Unknown dijo...

Saludos,

Chilkat no me servia puesto que no es una libreria nativa de java, y accede a binarios del sistema, en este caso el AIX donde tenia que funcionar no contaba con esa funcionalidad.

La respuesta que hay en el foro de SUN si funciona, de hecho yo lo implemente y solo modifique unas cosas para que soportara multiples archivos, te recomiendo que sigas el codigo que hay en el foro y lo pruebes.

P.D. Ahora ya no desarrollo y no tengo acceso a lo que hice aquella vez, asi que no puedo pasartelo.