在Linux(Ubuntu)上使用Swift中的CommonCrypto/CommonHMAC.h获取SHA256
我正在努力建立:在Linux(Ubuntu)上使用Swift中的CommonCrypto/CommonHMAC.h获取SHA256,swift,linux,macos,ubuntu,perfect,Swift,Linux,Macos,Ubuntu,Perfect,我正在努力建立: static func sha256(string: String) -> String? { if let data = string.data(using: .utf8) { var hash = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH)) data.withUnsafeBytes { _ = CC_SHA256($0, CC_L
static func sha256(string: String) -> String? {
if let data = string.data(using: .utf8) {
var hash = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH))
data.withUnsafeBytes {
_ = CC_SHA256($0, CC_LONG(data.count), &hash)
}
let result = Data(bytes: hash)
return result.base64EncodedString()
}
return nil
}
在Ubuntu 16.04上使用Swift软件包管理器。但是图书馆没有找到。它是否适用于Linux Swift?我如何指出它?如果没有,在Linux Swift中获得SHA256的推荐方法是什么?我一直在为我的Swift后端使用Perfect,结果发现它们有许多内置的跨平台加密实用程序。新功能是:
static func sha256(string: String) -> String? {
if let encoded = string.digest(.sha256)?.encode(.base64) {
return String(validatingUTF8: encoded)
}
return nil
}
是的,CommonCrypto仅在苹果平台上可用。对于跨平台解决方案,您应该考虑以下内容。