精华内容
下载资源
问答
  • zip解密工具

    2016-11-09 18:02:57
    这个工具真是太强大了,万能的解密工具
  • 非常实用的zip解密工具,暴力破解速度快。如果忘记重要压缩包的密码,用它就对了
  • 首先想到的就是解密zip包(为什么是解密,而不是破解呢?因为zip这个加密很有可能是伪加密,所以永远不可能破解成功) 解密 首先,我们来尝试一下伪加密的解密,伪加密的解密方法有多种上,今天只讲一种,修改zip包...

    CTF附件

    四类-IEC104-附件.zip

    分析

    在这里插入图片描述
    发现这个zip包中有一个pcap文件,同时文件名后带有*,说明是加密的zip包。首先想到的就是解密zip包(为什么是解密,而不是破解呢?因为zip这个加密很有可能是伪加密,所以永远不可能破解成功)

    解密

    首先,我们来尝试一下伪加密的解密,伪加密的解密方法有多种上,今天只讲一种,修改zip包格式。

    一格zip文件有三个部分组成:

    展开全文
  • php实现的加密解密处理类
  • pkg2zip 解密PlayStation Vita pkg文件并打包成zip文件
  • 在线全格式加解密源码 支持md5 hex sha等各种格式加解密
  • zip加密文件破解解密

    2015-03-07 14:42:50
    通过该软件可以轻松解密大部分加密的zip文件,完全汉化,简单易用。
  • zip 解密加密 ZipUtils

    千次阅读 2019-01-14 13:38:57
    import java.util.zip.ZipEntry; import java.util.zip.ZipFile; import java.util.zip.ZipOutputStream; public class ZipUtils { /** * * @param inputByte * 待解压缩的字节数组 * @return 解压缩后的字节...
    package com.topsec.ws.util;
    
    
    import java.io.BufferedInputStream;
    import java.io.BufferedOutputStream;
    import java.io.ByteArrayOutputStream;
    import java.io.File;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.util.Enumeration;
    import java.util.zip.Deflater;
    import java.util.zip.Inflater;
    import java.util.zip.ZipEntry;
    import java.util.zip.ZipFile;
    import java.util.zip.ZipOutputStream;
    
    public class ZipUtils {
        /**
         *
         * @param inputByte
         *            待解压缩的字节数组
         * @return 解压缩后的字节数组
         * @throws IOException
         */
        public static byte[] uncompress(byte[] inputByte) throws IOException {
            int len = 0;
            Inflater infl = new Inflater();
            infl.setInput(inputByte);
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            byte[] outByte = new byte[1024];
            try {
                while (!infl.finished()) {
                    // 解压缩并将解压缩后的内容输出到字节输出流bos中
                    len = infl.inflate(outByte);
                    if (len == 0) {
                        break;
                    }
                    bos.write(outByte, 0, len);
                }
                infl.end();
            } catch (Exception e) {
                //
            } finally {
                bos.close();
            }
            return bos.toByteArray();
        }
    
        /**
         * 压缩.
         *
         * @param inputByte
         *            待压缩的字节数组
         * @return 压缩后的数据
         * @throws IOException
         */
        public static byte[] compress(byte[] inputByte) throws IOException {
            int len = 0;
            Deflater defl = new Deflater(1);//这里可以设置压缩的比,看实际情况进行修改
            defl.setInput(inputByte);
            defl.finish();
            ByteArrayOutputStream bos = new ByteArrayOutputStream();
            byte[] outputByte = new byte[1024];
            try {
                while (!defl.finished()) {
                    // 压缩并将压缩后的内容输出到字节输出流bos中
                    len = defl.deflate(outputByte);
                    bos.write(outputByte, 0, len);
                }
                defl.end();
            } finally {
                bos.close();
            }
            return bos.toByteArray();
        }
    
        /**
         * @param sourceFileName  源文件
         * @param zipFileName   压缩后文件
         * @throws Exception
         */
        public static void zip(String sourceFileName,String zipFileName) throws Exception
        {
            //创建zip输出流
            ZipOutputStream out = new ZipOutputStream( new FileOutputStream(zipFileName));
            //创建缓冲输出流
            BufferedOutputStream bos = new BufferedOutputStream(out);
            File sourceFile = new File(sourceFileName);
            //调用函数
            compress(out,bos,sourceFile,sourceFile.getName());
            bos.close();
            out.close();
        }
    
    
        public static void compress(ZipOutputStream out,BufferedOutputStream bos,File sourceFile,String base) throws Exception
        {
            //如果路径为目录(文件夹)
            if(sourceFile.isDirectory())
            {
                //取出文件夹中的文件(或子文件夹)
                File[] flist = sourceFile.listFiles();
                if(flist.length==0)//如果文件夹为空,则只需在目的地zip文件中写入一个目录进入点
                {
                    System.out.println(base + File.pathSeparator);
                    out.putNextEntry(new ZipEntry(base + File.pathSeparator));
                }
                else//如果文件夹不为空,则递归调用compress,文件夹中的每一个文件(或文件夹)进行压缩
                {
                    for(int i=0;i<flist.length;i++)
                    {
                        compress(out,bos,flist[i],base+File.separator+flist[i].getName());
                    }
                }
            }
            else//如果不是目录(文件夹),即为文件,则先写入目录进入点,之后将文件写入zip文件中
            {
                out.putNextEntry( new ZipEntry(base) );
                FileInputStream fos = new FileInputStream(sourceFile);
                BufferedInputStream bis = new BufferedInputStream(fos);
    
                int tag;
                System.out.println(base);
                //将源文件写入到zip文件中
                while((tag=bis.read())!=-1)
                {
                    bos.write(tag);
                }
                bis.close();
                fos.close();
            }
        }
    
        /**
         * zip解压
         * @param srcFile        zip源文件
         * @param destDirPath     解压后的目标文件夹
         * @throws RuntimeException 解压失败会抛出运行时异常
         */
    
        public static void unZip(File srcFile, String destDirPath) throws RuntimeException {
            long start = System.currentTimeMillis();
            // 判断源文件是否存在
            if (!srcFile.exists()) {
                throw new RuntimeException(srcFile.getPath() + "所指文件不存在");
            }
            // 开始解压
            ZipFile zipFile = null;
            try {
                zipFile = new ZipFile(srcFile);
                Enumeration<?> entries = zipFile.entries();
                while (entries.hasMoreElements()) {
                    ZipEntry entry = (ZipEntry) entries.nextElement();
                    // 如果是文件夹,就创建个文件夹
                    if (entry.isDirectory()) {
                        String dirPath = destDirPath + "/" + entry.getName();
                        File dir = new File(dirPath);
                        dir.mkdirs();
                    } else {
                        // 如果是文件,就先创建一个文件,然后用io流把内容copy过去
                        File targetFile = new File(destDirPath + "/" + entry.getName());
                        // 保证这个文件的父文件夹必须要存在
                        if(!targetFile.getParentFile().exists()){
                            targetFile.getParentFile().mkdirs();
                        }
                        targetFile.createNewFile();
                        // 将压缩文件内容写入到这个文件中
                        InputStream is = zipFile.getInputStream(entry);
                        FileOutputStream fos = new FileOutputStream(targetFile);
                        int len;
                        byte[] buf = new byte[1024];
                        while ((len = is.read(buf)) != -1) {
                            fos.write(buf, 0, len);
                        }
                        // 关流顺序,先打开的后关闭
                        fos.close();
                        is.close();
                    }
                }
                long end = System.currentTimeMillis();
                System.out.println("解压完成,耗时:" + (end - start) +" ms");
            } catch (Exception e) {
                throw new RuntimeException("unzip error from ZipUtils", e);
            } finally {
                if(zipFile != null){
                    try {
                        zipFile.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
    
    
        public static void main(String[] args) {
            try {
                zip("D:\\aa\\test.txt","D:\\aa\\test.zip");
                unZip(new File("D:/bb/bb.zip"),"D:/bb/bb");
            } catch (Exception e) {
                System.out.println(e.getLocalizedMessage());
            }
        }
    
    }
    
    展开全文
  • zip密码破解工具

    2019-01-18 16:57:58
    azpr是一款非常强大的密码破解工具,速度超快,暴力破解,支持使用字典的,效率高,总的来说不错。
  • 图片锁定及解密程序, 提供两种模式:加密图片及解密图片,选择模式后输入要锁定or解锁的图片所在文件夹,回车确定后将对文件夹下所有文件进行锁定or解锁。参见博客:...
  • 今天项目要用到zip的加密解密,在网上搜索了好多这方面的资料,发现要么只是贴了一部分代码,要么这里少个jar包那里少个方法,花了2天时间翻阅各种资料后,自己整理了一下代码,引用了5个jar包,调用就一个方法搞定...
  • DES加密和解密.zip

    2013-09-03 12:50:01
    java写的关于DES加密和解密工具,可以对字符串进行加密和解密操作
  • java加密解密zip压缩包

    热门讨论 2011-07-01 13:29:17
    java做的project,可以生成带密码的压缩文件,可以用AS3加密解密
  • crark7zip(7zip密码破解软件)是一款十分专业且...那就来绿色先锋下载crark7zip免费版使用。完全免费,采用了crark破解方式,能够利用多核cpu处理器或显卡GPU、或密码本等进行暴力破解,能够轻松破解RAR和zip压缩密码。
  • Winhex.zip

    2018-09-29 02:00:17
    winhex 是一个专门用来对付各种日常紧急情况的工具。它可以用来检查和修复各种文件、恢复删除文件、硬盘损坏造成的数据丢失等。同时它还可以让你看到其他程序隐藏起来的文件和数据。总体来说是一款非常不错的 16 ...
  • 自认很好用的Zip解密工具软件,速度很快
  • } } public static void main(String[] args) { try { //Process process = Runtime.getRuntime().exec(new String[] { "/bin/csh", "-c","zip -P "+123456+" news.zip "+" E://test" }); ZipUtil t = new ZipUtil...

    //1、备份(加密)

    package com.koalii.eseal.backup.struts.action;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    import org.apache.struts.action.ActionForm;

    import org.apache.struts.action.ActionMapping;

    import org.bouncycastle.util.encoders.Base64;

    import com.koalii.core.struts.action.BaseAction;

    import com.koalii.eseal.admin.dto.AdminDTO;

    import com.koalii.eseal.backup.struts.form.BackUpForm;

    import com.koalii.eseal.log.util.LogUtil;

    import com.koalii.eseal.util.KeyUtil;

    import com.koalii.eseal.util.ParameterConstant;

    import com.koalii.eseal.util.ZipUtil;

    import com.koalii.quickstart.util.AppConstant;

    /**

    * BackUpAction.java

    *

    * @CopyRight KOAL Co. Lmt 2009

    * @author zhengxd

    * @Since

    * @version

    * @Date: 2009-7-8

    */

    public class BackUpAction extends BaseAction{

    protected Object actionExecute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

    // TODO Auto-generated method stub

    ZipUtil zip = new ZipUtil();

    BackUpForm backForm = (BackUpForm)form;

    String filePath = request.getRealPath("/")+ParameterConstant.FILE_PATH;//ParameterConstant.FILE_PATH=“koalii”

    String  zipPath = filePath+".zip";

    zip.zip(zipPath, filePath);

    //获得登陆用户信息

    String pass = String.valueOf(backForm.getPassWord());

    //加密密码  返回固定的28位长度的数组

    byte bytepass [] = new String(Base64.encode( KeyUtil.keyStorePassDgtByte(pass.getBytes()))).getBytes();

    // 读取文件流

    javax.servlet.ServletOutputStream out = response.getOutputStream();

    java.io.FileInputStream fileInputStream = new java.io.FileInputStream(

    zipPath);

    // 下载文件

    // 设置响应头和下载保存的文件名

    String filename = "koalii.zip";

    if (filename != null && filename.length() > 0) {

    response.setContentType("application/x-msdownload");

    response.setHeader("Content-Disposition", "attachment; filename="

    + new String(filename.getBytes("utf-8"),

    "iso8859-1") + "");

    if (fileInputStream != null) {

    int filelen = fileInputStream.available();

    // 文件太大时内存不能一次读出,要循环

    //创建新数组,用于存储密码流+文件流

    byte a[] = new byte[filelen+bytepass.length];

    //arraycopy(被复制的数组, 从第几个元素开始复制, 要复制到的数组, 从第几个元素开始粘贴, 一共需要复制的元素个数);

    System.arraycopy(bytepass, 0, a, 0, bytepass.length);

    fileInputStream.read(a,bytepass.length,filelen);

    byte enbyte []=Base64.encode(a);

    out.write(enbyte);

    }

    fileInputStream.close();

    out.close();

    }

    return null;

    }

    }

    //2、恢复(解密)

    package com.koalii.eseal.recover.struts.action;

    import java.io.FileOutputStream;

    import javax.servlet.http.HttpServletRequest;

    import javax.servlet.http.HttpServletResponse;

    import org.apache.struts.Globals;

    import org.apache.struts.action.ActionErrors;

    import org.apache.struts.action.ActionForm;

    import org.apache.struts.action.ActionMapping;

    import org.apache.struts.action.ActionMessage;

    import org.apache.struts.upload.FormFile;

    import org.bouncycastle.util.encoders.Base64;

    import com.koalii.core.struts.action.BaseAction;

    import com.koalii.eseal.admin.dto.AdminDTO;

    import com.koalii.eseal.log.util.LogUtil;

    import com.koalii.eseal.recover.struts.form.RecoverForm;

    import com.koalii.eseal.util.KeyUtil;

    import com.koalii.eseal.util.ParameterConstant;

    import com.koalii.eseal.util.ZipUtil;

    import com.koalii.quickstart.util.AppConstant;

    /**

    * RecoverAction.java

    *

    * @CopyRight KOAL Co. Lmt 2009

    * @author zhengxd

    * @Since

    * @version

    * @Date: 2009-7-8

    */

    public class RecoverAction extends BaseAction{

    protected Object actionExecute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {

    // TODO Auto-generated method stub

    ZipUtil zip = new ZipUtil();

    RecoverForm reform = (RecoverForm)form;

    FormFile file = reform.getFile();

    String filePath = request.getRealPath("/")+ParameterConstant.FILE_PATH;

    //获得登陆用户信息

    AdminDTO user = (AdminDTO) request.getSession().getAttribute(AppConstant.userInSessionKey);

    if(null==user){

    super.sendMessage(request, "登陆超时,请重新登陆");

    return mapping.findForward("loginout");

    }

    String pass = String.valueOf(reform.getPassWord());

    //存储加密文件的所有数据

    byte[] all = file.getFileData();

    //存储解密后的所有数据

    byte[] deall = Base64.decode(all);

    //设置密码数组长度

    byte[] passb = new byte[28];

    //从解密数据中提取出密码并放入密码数组中

    System.arraycopy(deall, 0, passb, 0, 28);

    //将新输入的密码bsae64加码 因为在备份时 输入的密码已经做过base64加密之后才跟文件流一起做的加密

    byte bytepass [] = new String(Base64.encode(KeyUtil.keyStorePassDgtByte(pass.getBytes()))).getBytes();

    //判断恢复密码是否正确

    if(new String(passb).equals(new String(bytepass)))

    {

    //将真实的文件内容提取出来并存入数组,因为密码加密后的长度是固定的28位  从第28位以后才是真实文件的内容

    byte[] real = new byte[deall.length-28];

    System.arraycopy(deall, 28, real, 0, real.length);

    FileOutputStream out = new FileOutputStream(filePath+".zip");

    //将真实文件写入磁盘

    out.write(real);

    out.close();

    //解压真实文件

    zip.unzip(filePath+".zip", filePath);

    ActionErrors message = new ActionErrors();

    message.add(Globals.ERROR_KEY,new ActionMessage("message", "系统恢复成功,请重新启动服务器!"));

    request.getSession().setAttribute(Globals.ERROR_KEY, message);

    }else{

    ActionErrors message = new ActionErrors();

    message.add(Globals.ERROR_KEY,new ActionMessage("message", "恢复密码不正确,请输入备份时填写的密码!"));

    request.getSession().setAttribute(Globals.ERROR_KEY, message);

    }

    return mapping.findForward("success");

    }

    }

    //3、zip基础类

    package com.koalii.eseal.util;

    import java.io.File;

    import java.io.FileInputStream;

    import java.io.FileOutputStream;

    import java.util.zip.ZipEntry;

    import java.util.zip.ZipInputStream;

    import java.util.zip.ZipOutputStream;

    public class ZipUtil {

    public void zip(String zipFileName, String inputFile) throws Exception {

    zip(zipFileName, new File(inputFile));

    }

    private void zip(String zipFileName, File inputFile) throws Exception {

    ZipOutputStream out = new ZipOutputStream(new FileOutputStream(

    zipFileName));

    zip(out, inputFile, "");

    //System.out.println("zip done");

    out.close();

    }

    public void unzip(String zipFileName, String outputDirectory)

    throws Exception {

    ZipInputStream in = new ZipInputStream(new FileInputStream(zipFileName));

    ZipEntry z;

    while ((z = in.getNextEntry()) != null) {

    //System.out.println("unziping " + z.getName());

    if (z.isDirectory()) {

    String name = z.getName();

    name = name.substring(0, name.length() - 1);

    File f = new File(outputDirectory + File.separator + name);

    f.mkdir();

    //System.out.println("mkdir " + outputDirectory + File.separator

    //  + name);

    } else {

    File f = new File(outputDirectory + File.separator

    + z.getName());

    f.createNewFile();

    FileOutputStream out = new FileOutputStream(f);

    int b;

    while ((b = in.read()) != -1)

    out.write(b);

    out.close();

    }

    }

    in.close();

    }

    private void zip(ZipOutputStream out, File f, String base) throws Exception {

    //System.out.println("Zipping  " + f.getName());

    if (f.isDirectory()) {

    File[] fl = f.listFiles();

    out.putNextEntry(new ZipEntry(base + "/"));

    base = base.length() == 0 ? "" : base + "/";

    for (int i = 0; i < fl.length; i++) {

    zip(out, fl[i], base +fl[i].getName());

    }

    } else {

    out.putNextEntry(new ZipEntry(base));

    FileInputStream in = new FileInputStream(f);

    int b;

    while ((b = in.read()) != -1){

    out.write(b);

    }

    in.close();

    }

    }

    public static void main(String[] args) {

    try {

    //Process process = Runtime.getRuntime().exec(new String[] { "/bin/csh", "-c","zip -P "+123456+" news.zip "+" E://test" });

    ZipUtil t = new ZipUtil();

    t.zip("E://test.zip", "E://test");

    t.unzip("E://test.zip", "E://test1");

    } catch (Exception e) {

    e.printStackTrace(System.out);

    }

    }

    }

    展开全文
  • zip加密加密解密

    千次阅读 2019-04-19 16:46:32
    今天项目需要对文件或文件夹进行加密压缩,通过了解目前可以实现的有jdk自带的以及一些第三方的实现方式,了解到了zip4j的强大,并且参考了网上的用法,亲测有效! 1:引入maven依赖 <!-- ...

    今天项目需要对文件或文件夹进行加密压缩,通过了解目前可以实现的有jdk自带的以及一些第三方的实现方式,了解到了zip4j的强大,并且参考了网上的用法,亲测有效!

    1:引入maven依赖

    <!-- https://mvnrepository.com/artifact/net.lingala.zip4j/zip4j -->
       <dependency>
          <groupId>net.lingala.zip4j</groupId>
          <artifactId>zip4j</artifactId>
          <version>1.3.2</version>
       </dependency>

    2:工具类

    
    import net.lingala.zip4j.core.ZipFile;
    import net.lingala.zip4j.exception.ZipException;
    import net.lingala.zip4j.model.FileHeader;
    import net.lingala.zip4j.model.ZipParameters;
    import net.lingala.zip4j.util.Zip4jConstants;
    import org.apache.commons.lang3.StringUtils;
    
    import java.io.File;
    import java.util.ArrayList;
    import java.util.Collections;
    import java.util.List;
    
    /**
     * @Description: zip工具类(加密压缩和解密)
     * @date 2019/4/19 11:50
     */
    public class ZipUtil {
    
    
        /**
         * 使用给定密码解压指定的ZIP压缩文件到指定目录
         * <p>
         * 如果指定目录不存在,可以自动创建,不合法的路径将导致异常被抛出
         *
         * @param dest   解压目录
         * @param passwd ZIP文件的密码
         * @return 解压后文件数组
         * @throws ZipException 压缩文件有损坏或者解压缩失败抛出
         */
        public static File[] unzip(File zipFile, String dest, String passwd) throws ZipException {
            ZipFile zFile = new ZipFile(zipFile);
            zFile.setFileNameCharset("GBK");
            if (!zFile.isValidZipFile()) {
                throw new ZipException("压缩文件不合法,可能被损坏.");
            }
            File destDir = new File(dest);
            if (destDir.isDirectory() && !destDir.exists()) {
                destDir.mkdir();
            }
            if (zFile.isEncrypted()) {
                zFile.setPassword(passwd.toCharArray());
            }
            zFile.extractAll(dest);
    
            List<FileHeader> headerList = zFile.getFileHeaders();
            List<File> extractedFileList = new ArrayList<File>();
            for (FileHeader fileHeader : headerList) {
                if (!fileHeader.isDirectory()) {
                    extractedFileList.add(new File(destDir, fileHeader.getFileName()));
                }
            }
            File[] extractedFiles = new File[extractedFileList.size()];
            extractedFileList.toArray(extractedFiles);
            return extractedFiles;
        }
    
    
        /**
         * 使用给定密码压缩指定文件或文件夹到指定位置.
         * <p>
         * dest可传最终压缩文件存放的绝对路径,也可以传存放目录,也可以传null或者"".<br />
         * 如果传null或者""则将压缩文件存放在当前目录,即跟源文件同目录,压缩文件名取源文件名,以.zip为后缀;<br />
         * 如果以路径分隔符(File.separator)结尾,则视为目录,压缩文件名取源文件名,以.zip为后缀,否则视为文件名.
         *
         * @param src         要压缩的文件或文件夹路径
         * @param dest        压缩文件存放路径
         * @param isCreateDir 是否在压缩文件里创建目录,仅在压缩文件为目录时有效.<br />
         *                    如果为false,将直接压缩目录下文件到压缩文件.
         * @param passwd      压缩使用的密码
         * @return 最终的压缩文件存放的绝对路径, 如果为null则说明压缩失败.
         */
        public static String zip(String src, String dest, boolean isCreateDir, String passwd) {
            File srcFile = new File(src);
            dest = buildDestinationZipFilePath(srcFile, dest);
            ZipParameters parameters = new ZipParameters();
            parameters.setCompressionMethod(Zip4jConstants.COMP_DEFLATE);           // 压缩方式
            parameters.setCompressionLevel(Zip4jConstants.DEFLATE_LEVEL_NORMAL);    // 压缩级别
            if (!StringUtils.isEmpty(passwd)) {
                parameters.setEncryptFiles(true);
                parameters.setEncryptionMethod(Zip4jConstants.ENC_METHOD_STANDARD); // 加密方式
                parameters.setPassword(passwd.toCharArray());
            }
            try {
                ZipFile zipFile = new ZipFile(dest);
                if (srcFile.isDirectory()) {
                    // 如果不创建目录的话,将直接把给定目录下的文件压缩到压缩文件,即没有目录结构
                    if (!isCreateDir) {
                        File[] subFiles = srcFile.listFiles();
                        ArrayList<File> temp = new ArrayList<File>();
                        Collections.addAll(temp, subFiles);
                        zipFile.addFiles(temp, parameters);
                        return dest;
                    }
                    zipFile.addFolder(srcFile, parameters);
                } else {
                    zipFile.addFile(srcFile, parameters);
                }
                return dest;
            } catch (ZipException e) {
                e.printStackTrace();
            }
            return null;
        }
    
        /**
         * 构建压缩文件存放路径,如果不存在将会创建
         * 传入的可能是文件名或者目录,也可能不传,此方法用以转换最终压缩文件的存放路径
         *
         * @param srcFile   源文件
         * @param destParam 压缩目标路径
         * @return 正确的压缩文件存放路径
         */
        private static String buildDestinationZipFilePath(File srcFile, String destParam) {
            if (StringUtils.isEmpty(destParam)) {
                if (srcFile.isDirectory()) {
                    destParam = srcFile.getParent() + File.separator + srcFile.getName() + ".zip";
                } else {
                    String fileName = srcFile.getName().substring(0, srcFile.getName().lastIndexOf("."));
                    destParam = srcFile.getParent() + File.separator + fileName + ".zip";
                }
            } else {
                createDestDirectoryIfNecessary(destParam);  // 在指定路径不存在的情况下将其创建出来
                if (destParam.endsWith(File.separator)) {
                    String fileName = "";
                    if (srcFile.isDirectory()) {
                        fileName = srcFile.getName();
                    } else {
                        fileName = srcFile.getName().substring(0, srcFile.getName().lastIndexOf("."));
                    }
                    destParam += fileName + ".zip";
                }
            }
            return destParam;
        }
    
    
        /**
         * 在必要的情况下创建压缩文件存放目录,比如指定的存放路径并没有被创建
         *
         * @param destParam 指定的存放路径,有可能该路径并没有被创建
         */
        private static void createDestDirectoryIfNecessary(String destParam) {
            File destDir = null;
            if (destParam.endsWith(File.separator)) {
                destDir = new File(destParam);
            } else {
                destDir = new File(destParam.substring(0, destParam.lastIndexOf(File.separator)));
            }
            if (!destDir.exists()) {
                destDir.mkdirs();
            }
        }
    
    
    //    public static void main(String[] args) throws Exception {
    //        String zip = zip("/**/Desktop/aa.txt", null, false, "123456");
    //        File zipFile = new File("/**/Desktop/aa.zip");
    //        unzip(zipFile,"/**/Desktop/love","123456");
    //    }
    
    
    }
    

    更多zip4j的用法 参考博文 https://blog.csdn.net/djun100/article/details/18007099,本文大部分code来自于该文。

    展开全文
  • C# 加密解密Zip

    2020-04-22 17:18:23
    public class Zip { public static string EncryptString(string str) { var sourceBytes = Encoding.GetEncoding("UTF-8").GetBytes(str); var targetBytes = EncryptBytes(sourc...
  • zip命令加密和解密

    千次阅读 2019-08-16 21:48:02
    zip -P 12345 XXXX test.txt 会生成XXXX.zip 使用密码:12345解压 zip -P 12345 XXXXY.ziptest.txt 会生成 XXXXY.zip 使用密码:12345解压 结果文件是否加.zip均可 ...
  • Ultimate ZIP解密软件

    2008-10-03 21:53:38
    Ultimate ZIP解密软件,该软件有破解补丁,非常好用。
  • zip解密

    2021-05-24 17:48:23
    1、添加依赖: <dependency>...zip4j</artifactId> <version>1.3.2</version> </dependency> 2、加密工具包: public class DesTool { private static final String
  • 该类通过对常见zip包文件通过java.util.zip包下的ZipInputStream、ZipOutputStream进行文件解/压缩处理,并通过RSA密钥安全协议对包进行加解密打包认证,具体参见代码importjava.io.ByteArrayInputStream;@b@import...
  • lua加密解密.zip

    2020-08-27 00:29:51
    解密加密所有棋牌游戏lua文件。 棋牌游戏服务器搭建测试可用------------------- 加密解密需要各自新建文件夹直接拖入解密加密即可
  • Aes256密码加密解密.rar

    2019-12-26 17:16:54
    压缩文件包含Aes256密码加密解密工具类,前台页面加密方法,后台解密方法,aes256.min.js
  • 超级好用的ZIP密码破解工具及字典,我已经试用过一段时间。。。
  • ZIP4J压缩包加密解密

    2015-11-01 09:15:53
    java zip4j 很好的支持中英文压缩加密解密,有例子,有JAR包,全套实现。
  • ZIP RAR 压缩文件解密工具,亲测有效

    千次阅读 2019-11-13 09:43:03
    ZIP-RAR文件解密工具,亲测有效 相信不少用户从网上下载的资源的时候遇到过加密的压缩ZIP、RAR文件,明明唾手可得的资源,但是却有密码,真是让人不开心,于是,我们便想方设法的破解这个压缩文件,但是压缩文件经过...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,992
精华内容 8,796
关键字:

zip解密