2017-10-16 4 views
1

J'ai fait quelques recherches mais j'ai seulement pu trouver des exemples qui utilisent Objective-C pour créer des hachages SHA256. Y a-t-il un moyen de le faire avec seulement Swift4?Création de hachage SHA256 avec swift4

+3

double possible de [SHA256 en swift] (https://stackoverflow.com/questions/25388747/sha256-in-swift) –

Répondre

1

Vous pouvez utiliser comme ceci:

func ccSha256(data: Data) -> Data { 
    var digest = Data(count: Int(CC_SHA256_DIGEST_LENGTH)) 

    _ = digest.withUnsafeMutableBytes { (digestBytes) in 
     data.withUnsafeBytes { (stringBytes) in 
      CC_SHA256(stringBytes, CC_LONG(data.count), digestBytes) 
     } 
    } 
    return digest 
} 

Vous pouvez appeler comme ceci:

let str = "givesomestringtoencode" 
let data = ccSha256(data: str.data(using: .utf8)!) 
print("sha256 String: \(data.map { String(format: "%02hhx", $0) }.joined())") 

Ajouter le ci-dessous pour combler le fichier d'en-tête:

#import <CommonCrypto/CommonHMAC.h> 
+0

Lorsque j'ajoute la fonction à mon code, cela me donne plusieurs erreurs multiples –

+0

Les erreurs multiples signifient ce que cela donne? –

+0

Ceci est une capture d'écran de Xcode: https://imgur.com/a/7QPwg –