9157654
9157654
  • 发布:2023-05-05 16:47
  • 更新:2023-05-08 13:01
  • 阅读:405

iOS如何通过uts获取文件的sha256

分类:uts
2023-05-05 16:47 负责人:DCloud_iOS_LZY 分享
已邀请:
FullStack

FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866

  • 9157654 (作者)

    这个如果文件超过1G会出现卡死吗

    2023-05-15 11:21

DCloud_iOS_LZY

DCloud_iOS_LZY

可以使用UTS自己实现,以下是可以实现该功能的Swift代码:

import CommonCrypto  

func sha256HashOfFile(atPath path: String) -> String? {  
    let fileURL = URL(fileURLWithPath: path)  
    do {  
        let fileData = try Data(contentsOf: fileURL)  
        var hashData = Data(count: Int(CC_SHA256_DIGEST_LENGTH))  
        hashData.withUnsafeMutableBytes { hashBytes in  
            fileData.withUnsafeBytes { fileBytes in  
                CC_SHA256(fileBytes, CC_LONG(fileData.count), hashBytes)  
            }  
        }  
        let hashString = hashData.map { String(format: "x", $0) }.joined()  
        return hashString  
    } catch {  
        print("Error: \(error.localizedDescription)")  
        return nil  
    }  
}  

其中涉及try catch语法,可参考https://uniapp.dcloud.net.cn/plugin/uts-for-ios.html

要回复问题请先登录注册