0
私は、ファイルデータからMD5文字列を生成するためにいくつかのコードを持っている:それはちょうど私がから取得していますMD5の文字列である可能性があるのでテスト私のMD5スウィフト3コード
extension Data {
func hexString() -> String {
let string = self.map{ String($0, radix:16) }.joined()
// "45769ca7ec1ac00cec11df87df982b7d"
return string
}
func MD5() -> Data {
var result = Data(count: Int(CC_MD5_DIGEST_LENGTH))
_ = result.withUnsafeMutableBytes {resultPtr in
self.withUnsafeBytes {(bytes: UnsafePointer<UInt8>) in
CC_MD5(bytes, CC_LONG(count), resultPtr)
}
}
return result
}
}
extension String {
func hexString() -> String {
return self.data(using: .utf8)!.hexString()
}
func MD5() -> String {
return self.data(using: .utf8)!.MD5().hexString()
}
}
私は、これが動作しているかわからないんだけどヴィメオは間違っています。
まず、スウィフト3コードはMD5を生成するためには大丈夫ですか?使用法:
let fileHandle = try? FileHandle(forReadingFrom: getFileUrl(forFileId: id)!)
let fileData = fileHandle?.availableData
if let md5 = fileData?.MD5().hexString() { ... }
第2に、ファイルをアップロードしてMD5文字列を取得するためのWebツールがありますか?
UPDATE:私はオンラインMD5ツールで自分のファイルをテストし、私は次のハッシュを取得:F0750875A790471702E9D2D34433729A
をしかし、私のコードは、これが生成します。f075875a79047172e9d2d34433729a
それはとても近いようです!私の内線の中にあるものでなければならない。 Swift 3には優れたMD5ソリューションがありますか?
Webツールが見つかりました:http://onlinemd5.com –