J'ai un code pour générer MD5 chaîne à partir des données de fichier:Test mon MD5 Swift 3 Code
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()
}
}
Je ne sais pas si cela fonctionne, car il pourrait juste être la chaîne MD5 que je reçois de Vimeo a tort.
Premièrement, est-ce que ce code Swift 3 semble correct pour générer MD5? Utilisation:
let fileHandle = try? FileHandle(forReadingFrom: getFileUrl(forFileId: id)!)
let fileData = fileHandle?.availableData
if let md5 = fileData?.MD5().hexString() { ... }
Deuxièmement, y at-il un outil Web que je peux utiliser pour télécharger mon fichier et récupérer sa chaîne MD5?
MISE À JOUR: J'ai testé mon dossier dans l'outil MD5 en ligne et je reçois le hachage suivant: F0750875A790471702E9D2D34433729A
Mais mon code produit ceci: f075875a79047172e9d2d34433729a
Il semble si proche! Ça doit être quelque chose dans mon extension. Existe-t-il une meilleure solution MD5 dans Swift 3?
J'ai trouvé un outil web: http://onlinemd5.com –