我想获取我的数据的MD5哈希值(从互联网上下载的图像)。不幸的是,我已经将框架升级到Swift 3,我之前使用的方法现在无法使用。
我已经把大部分代码转换了,但是我无法从数据中获取字节:
import Foundation
import CommonCrypto
struct MD5 {
static func get(data: Data) -> String {
var digest = [UInt8](repeating: 0, count: Int(CC_MD5_DIGEST_LENGTH))
CC_MD5(data.bytes, CC_LONG(data.count), &digest)
var digestHex = ""
for index in 0..<Int(CC_MD5_DIGEST_LENGTH) {
digestHex += String(format: "%02x", digest[index])
}
return digestHex
}
}
CommonCrypto已经作为自定义模块导入。问题在于,我得到了'bytes'不可用:请改用withUnsafeBytes
的错误提示,出现在 CC_MD5(data.bytes,...
中。
因此,真正的问题是,如何将字节从数据中获取,并且这个解决方案是否可行?