zoukankan      html  css  js  c++  java
  • [Swift通天遁地]七、数据与安全-(10)文件的加密压缩和解压加密压缩

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(shanqingyongzhi)
    ➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/10313815.html 
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    目录:[Swift]通天遁地Swift

    本文将演示如何创建和解压一个包含密码的压缩包。

    首先确保在项目中已经安装了所需的第三方库。

    点击【Podfile】,查看安装配置文件。

    1 platform :ios, '12.0'
    2 use_frameworks!
    3 
    4 target ‘DemoApp' do
    5     source 'https://github.com/CocoaPods/Specs.git'
    6     pod 'Zip'
    7 end

    根据配置文件中的相关配置,安装第三方库。

    在项目导航区,打开视图控制器的代码文件【ViewController.swift】

     1 import UIKit
     2 import Zip
     3 
     4 class ViewController: UIViewController {
     5     
     6     override func viewDidLoad() {
     7         super.viewDidLoad()
     8         // Do any additional setup after loading the view, typically from a nib.
     9         //加密压缩
    10         zipFileWithPassword()
    11         //解压加密压缩
    12         unzipFileWithPassword()
    13     }
    14     
    15     //加密压缩
    16     func zipFileWithPassword()
    17     {
    18         //添加一个异常捕捉语句,实现压缩文件
    19         do
    20         {
    21             //初始化一个字符串常量,表示项目中带压缩文件的路径
    22             let filePath = Bundle.main.url(forResource: "BankAndCity", withExtension: "sqlite")!
    23             //获得沙箱目录中,文档文件的路径
    24             var documentsFolder = FileManager.default.urls(for:.documentDirectory, in: .userDomainMask)[0]
    25             //在文档文件路径的末尾,添加文件的名称,作为压缩后的文件所在的路径。
    26             documentsFolder = documentsFolder.appendingPathComponent("NewArchivedFile.zip")
    27             //调用第三方类库的压缩文件的方法,将数据库文件进行压缩,并设置安全密码。
    28             //同时设置压缩的模式为最佳模式.
    29             try Zip.zipFiles(paths: [filePath], zipFilePath: documentsFolder, password: "coolketang", compression: .BestCompression, progress:
    30             { 
    31                 (progress) -> () in
    32                 //压缩的过程中,在控制台实时输出压缩的进度。
    33                 print(progress)
    34             })
    35             //输出压缩后的文件所在的绝对路径
    36             print("destinationPath:(documentsFolder)")
    37         }
    38         catch
    39         {
    40             print("Something went wrong")
    41         }
    42     }
    43     
    44     //解压加密压缩
    45     func unzipFileWithPassword()
    46     {
    47         //添加一个异常捕捉语句,实现解压加密压缩
    48         do
    49         {
    50             //获得在沙箱目录中,文档文件夹的路径
    51             var documentsFolder = FileManager.default.urls(for:.documentDirectory, in: .userDomainMask)[0]
    52             //在文档文件路径的末尾,添加文件的名称,作为在上一个方法中压缩文件所在的位置
    53             documentsFolder = documentsFolder.appendingPathComponent("NewArchivedFile.zip")
    54             let documentsDirectory = NSHomeDirectory() + "/Documents/"
    55             //初始化一个网址对象,作为解压后的文件的目标位置。
    56             let destinationPath = URL(fileURLWithPath: documentsDirectory)
    57             //调用第三方类库的解压文件的方法,设置解压的密码,
    58             //将指定的压缩文件,解压到指定的文件夹。
    59             try Zip.unzipFile(documentsFolder, destination: destinationPath, overwrite: true, password: "coolketang", progress: { (progress) -> () in
    60                 //并在控制台输出解压进度
    61                 print(progress)
    62             })
    63             //输出解压后的文件所在的绝对路径
    64             print("destinationPath:(destinationPath)")
    65         }
    66         catch
    67         {
    68             print("Something went wrong")
    69         }
    70     }
    71     
    72     override func didReceiveMemoryWarning() {
    73         super.didReceiveMemoryWarning()
    74         // Dispose of any resources that can be recreated.
    75     }
    76 }
  • 相关阅读:
    java中的“指针”
    UEditor1.4.3.3编辑器漏洞
    csrf攻击实例
    shiro java 反序列漏洞复现
    渗透面试问题
    了解 OWASP TOP 10
    网络基础知识回顾
    cs(cobalt strike)的使用
    解决docker-valhub漏洞环境下载慢的问题
    Vulhub漏洞CVE-2017-10271复现
  • 原文地址:https://www.cnblogs.com/strengthen/p/10313815.html
Copyright © 2011-2022 走看看