Vielen Dank für Ihre Aufmerksamkeit.
Ich versuche, c[all] mit diesem Code in sha1 zu konvertieren:
Code: Select all
let str = "c[all]"
let den3 = str.sha1()
0fee061faab109e27b75010f2f1a0d8258bab7c5
Und wenn ich let den3 = str.sha1().toBase64() hinzufüge, erhalte ich:
MGZlZTA2MWZhYWIxMDllMjdiNzUwMTBmMmYxYTBkODI1OGJhYjdjNQ==
was eigentlich falsch ist, ich muss das bekommen:
D+4GH6qxCeJ7dQEPLxoNgli6t8U=
Wo ist mein Problem?
Hier meine Erweiterungen
Code: Select all
extension String {
func sha1() -> String {
let data = Data(self.utf8)
var digest = [UInt8](repeating: 0, count:Int(CC_SHA1_DIGEST_LENGTH))
data.withUnsafeBytes {
_ = CC_SHA1($0.baseAddress, CC_LONG(data.count), &digest)
}
let hexBytes = digest.map { String(format: "%02hhx", $0) }
return hexBytes.joined()
}
func toBase64() -> String {
return Data(self.utf8).base64EncodedString()
}
}