第一步:剥去密码:
下面方法是解密工作,参数:
srcFile:源文件地址
destfile:解密后的临时文件
pwd:密码
public static void decrypt(String srcFile, String destfile, String pwd) throws Exception {
SecureRandom sr = new SecureRandom();
SecretKeyFactory keyFactory = SecretKeyFactory.getInstance("DES");
DESKeySpec dks = new DESKeySpec(padding(Base64.encode(pwd.getBytes())));
SecretKey securekey = keyFactory.generateSecret(dks);
Cipher cipher = Cipher.getInstance("DES");
cipher.init(Cipher.DECRYPT_MODE, securekey, sr);
InputStream is = new FileInputStream(srcFile);
OutputStream out = new FileOutputStream(destfile);
CipherOutputStream cos = new CipherOutputStream(out, cipher);
byte[] buffer = new byte[1024];
byte[] pwdByte = new byte[20];
int len = is.read(pwdByte);
byte[] hashByte = DigisterUtil.getHashEncode(pwd.getBytes());
if (len != 20 || hashByte.length != 20) {
throw new RuntimeException("密码错误");
}
for (int i = 0; i < 20; i++) {
if (pwdByte[i] != hashByte[i]) {
throw new RuntimeException("密码错误");
}
}
int r;
while ((r = is.read(buffer)) >= 0) {
cos.write(buffer, 0, r);
}
cos.close();
out.close();
is.close();
}
第二步:用ZipFile和ZipEntry解压缩文件:
ZipFile zipFile = new ZipFile(上面的临时文件);
Enumeration entryEnu = zipFile.entries();
while (entryEnu.hasMoreElements()) {
ZipEntry entry = (ZipEntry) entryEnu.nextElement();
is = zipFile.getInputStream(entry);
bos = new ByteArrayOutputStream(is.available());
byte[] buff = new byte[8192]; int len = 0;
while ((len = is.read(buff)) != -1) {
bos.write(buff, 0, len);
}
bis = new ByteArrayInputStream(bos.toByteArray());
break;
}
temp.delete();
分享到:
相关推荐
【标题】"steamcommunity_302_V10.6_解压密码dogfight360.zip" 提供的信息表明,这是一个与Steam社区相关的压缩文件,版本为V10.6,可能包含了一些更新或者资源,解压时需要输入特定的密码“dogfight360”。...
rf = rarfile.RarFile(path1, pwd="123") # pwd 为解压密码 # 解压所有文件到指定路径 rf.extractall(path=path2, pwd="123") ``` 如果 RAR 文件没有密码,则可以直接使用如下代码: ```python from unrar import...
"批量解压"是处理大量压缩文件的一种高效手段,尤其对于那些需要解压的rar或zip格式的文件,手动逐一解压不仅耗时,而且当涉及到带密码的压缩包时,反复输入密码更是繁琐。针对这些需求,出现了"BatchUnRar"这样的...
- **解压ZIP文件**:下载后的XWiki Zip 8.0文件需要先进行解压,得到包含所有必要文件的目录结构。 - **配置服务器**:根据你的服务器环境(如Apache、Jetty或Tomcat),配置相应的部署设置。 - **数据库连接**:...
解压密码为yrxitong.com,确保了文件的安全性。 系统封装是将一个定制好的操作系统环境打包成镜像文件的过程,通常用于批量部署或备份还原。在这个过程中,用户可能需要进行系统清理、驱动管理、服务调整、注册表...
解压密码为“sqsxfree”,解压后即可获取到软件的执行文件,方便用户进行安装和使用。Icarus的界面简洁易懂,无论对于新手还是经验丰富的用户,都能快速上手。 软件的核心功能在于其IP切换能力。它提供了大量的IP...
【发加乐服务端_解压密码88888888.zip】是一个压缩包文件,其中包含有关“发加乐服务端”程序的相关资料。这个服务端可能是一个网络游戏、聊天平台或者其他需要服务器支持的应用的后台系统。解压该文件需要使用密码...
7. **密码保护**:可以为ZIP文件设置密码,增加安全性。 8. **HTTP传输**:可以用于上传和下载ZIP文件,这对于Web服务或API交互特别有用。 9. **错误处理**:提供丰富的错误处理机制,帮助开发者调试和解决可能...
1. **解压与解密**:尝试使用常见或不常见的密码来解压,或者通过已知的漏洞来绕过密码。 2. **文件恢复**:如果文件被部分损坏或删除,可以使用专门的工具尝试恢复。 3. **隐藏文件检查**:zip文件中可能存在隐藏...
在处理 ZIP 文件时,开发人员应当遵循最佳实践,例如使用已知安全的库(如 libarchive)来读写 ZIP 文件,避免因代码错误而引入漏洞。 5. **用户教育**:对于最终用户,他们需要知道不要随便下载和解压未知来源的 ...
第三方工具如 WinRAR 和 7-Zip 提供更多选项,如部分提取、密码保护、自解压文件创建等。 在 ZIP 文件中,780 data 可能表示一个文件或文件夹。如果是一个文件,它可能是某种特定的数据格式,如文本文件、CSV 数据...
该压缩包文件“sourceinsight-4.0.86.0-密码123.zip”和“sourceinsight_4.0.86.0_密码123.zip”显然包含了SourceInsight 4.0.86.0的安装程序或文件,解压密码为“123”。通常,这样的文件可能包括安装程序(如Setup...
3. **操作流程**:用户解压下载的zip文件后,运行accesspv.exe即可启动软件。根据readme.txt的指示,用户可以学习如何使用工具来查找和恢复密码。 4. **适用范围**:由于是针对Access数据库,所以这款工具主要适用...
- **密码保护**:部分分卷压缩文件可能设有密码保护,需要输入正确的密码才能解压。 通过以上步骤,您可以顺利地使用7-Zip解压分卷文件。这种技能在日常工作中非常实用,尤其是在处理大型数据集或跨平台传输文件时...
3. 解压ZIP文件:将下载的ZIP文件解压到服务器上的适当位置,通常为根目录。 4. 浏览安装向导:通过浏览器访问`http://yourdomain.com/wp-admin/install.php`,按照向导提示输入数据库信息,完成WordPress的基本配置...
1. **解压文件**:首先,你需要将下载的压缩包"sql2008更改SA密码工具.zip"解压到本地计算机的任意位置。 2. **运行工具**:找到解压后的可执行文件"sql2008更改SA密码工具.exe",双击运行。注意,由于这是修改...
用户可以通过各种解压软件,如WinRAR、7-Zip或Windows内置的解压缩功能来打开和提取ZIP文件的内容。 固件更新与驱动程序: 固件是存储在硬件设备内部的软件,控制设备的操作和功能。固件更新通常是为了修复已知问题...
描述中的"someone can be seleted"可能是指在处理ZIP文件时,用户可以选择性地解压或操作其中的某些文件,而不是一次性解压整个压缩包。 ZIP文件的结构基于PKWARE的DOS时代的ZIP规范,后来发展成为开放标准,被广泛...
如果要将多个文件或目录打包成ZIP文件,你可以选择要压缩的文件,然后选择“添加到压缩文件”选项,设置压缩格式为ZIP,选择合适的压缩级别和密码保护(如果需要),最后点击“确定”即可创建ZIP文件。 7. 其他压缩...
3. **加密与安全性**:ZIP文件支持密码保护,通过设置密码可以确保文件内容不被未经授权的人访问。然而,早期的ZIP加密算法(如PKZIP 2.0)已知存在安全漏洞,现在推荐使用AES(高级加密标准)进行加密。 4. **跨...