func md5File(url: URL) -> String? {
let bufferSize = 1024 * 1024
do {
//打开文件
let file = try FileHandle(forReadingFrom: url)
defer {
file.closeFile()
}
//初始化内容
var context = CC_MD5_CTX()
CC_MD5_Init(&context)
//读取文件信息
while case let data = file.readData(ofLength: bufferSize), data.count > 0 {
data.withUnsafeBytes {
_ = CC_MD5_Update(&context, $0, CC_LONG(data.count))
}
}
//计算Md5摘要
var digest = Data(count: Int(CC_MD5_DIGEST_LENGTH))
digest.withUnsafeMutableBytes {
_ = CC_MD5_Final($0, &context)
}
return digest.map { String(format: "%02hhx", $0) }.joined()
} catch {
print("Cannot open file:", error.localizedDescription)
return nil
}
}
swift 获取文件的Md5值
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 首先需要引入用的的Cocoa类CommonCrypto,由于CommonCrypto没有兼容 Swift,需要将以...
- 前言:作为谷歌在2013年为开发者提供的IDE环境工具Android Studio,从几次更新之后Android ...