私のデータ(インターウェブからダウンロードしたイメージ)のMD5ハッシュを取得しようとしています。残念ながら、私はフレームワークを迅速に3にアップグレードしました。私が使用していた方法は今は動作しません。スウィフト3のデータのMD5
私はそれのほとんどを変換しているが、私は、データのうち、バイトを取得することができません:
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' is unavailable: use withUnsafeBytes instead
CC_MD5(data.bytes,...
質問が本当にありますが、どのようにデータからバイトを取り除き、このソリューションが動作するのですか?
CommonCryptoを必要としない[my pure Swift implementation](https://github.com/NikolaiRuhe/SwiftDigest)です。 –