Desbloquear contrase�a ZIP
Contents
[
Hide
Show
]**Contrase�a olvidada
Es com�n olvidar la contrase�a “parcialmente”, es decir, recordar algunos caracteres y olvidar otros. La API de Aspose.ZIP te permite jugar con esas contrase�as olvidadas a medias para desbloquear el archivo. Este art�culo muestra c�mo adivinar la contrase�a de descifrado del archivo zip cifrado con AES.
Identificar plantilla de contrase�a
Digamos que su contrase�a empieza por los s�mbolos “T0p$ecret” seguidos de una letra may�scula inglesa y dos d�gitos. Entonces, podemos describir una plantilla as�:
1Cadena plantilla = "T0p$ecret{0}{1}";Verificaci�n de una contrase�a
Este simple c�digo de descifrado
1ArchiveLoadOptions options = new ArchiveLoadOptions();
2options.setDecryptionPassword(contrase�a);
3try (Archive a = new Archive("cifrado.zip", opciones))
4 a.extractToDirectory(".");Ataque de fuerza bruta al archivo
As� que componga y pruebe las contrase�as una por una. Si hay �xito el programa imprime la contrase�a correcta en la consola.
1String plantilla = "T0p$secreto{0}{1}";
2for (char c = 'A'; c < 'Z'; c++)
3{
4 boolean correcto = false
5 for (int i = 10; i < 99; i++)
6 {
7 String contrase�a = MessageFormat.format(plantilla, c, i);
8 ArchiveLoadOptions options = new ArchiveLoadOptions();
9 options.setDecryptionPassword(contrase�a);
10 try (Archive a = new Archive("cifrado.zip", opciones)) {
11 a.extractToDirectory(".");
12 correcto = true;
13 }
14 catch (InvalidDataException e)
15 {
16 correcto = false;
17 }
18
19 if (correct)
20 {
21 System.out.println("Proper password: " + password);
22 break;
23 }
24 }
25
26 if (correct)
27 break;
28}