我有一个字符串和一个密钥,我想从中生成一个 HMAC SHA256。虽然我使用 2 个库
IDZSwiftCommonCrypto和CryptoSwift
这个答案
没有什么对我真正有用。我的真相来源是这两个网站
和
https://www.freeformatter.com/hmac-generator.html#ad-output
他们总是为我的情况生成正确的哈希键。知道什么可以在这里工作吗?一些代码示例
对于 IDZSwiftCommonCrypto
func getHMacSHA256(forMessage message: String, key: String) -> String? {
let hMacVal = HMAC(algorithm: HMAC.Algorithm.sha256, key: key).update(string: message)?.final()
if let encryptedData = hMacVal {
let decData = NSData(bytes: encryptedData, length: Int(encryptedData.count))
let base64String = decData.base64EncodedString(options: .lineLength64Characters)
print("base64String: \(base64String)")
return base64String
} else {
return nil
}
}
对于 CryptoSwift
let password: Array<UInt8> = Array(payload.utf8)
let salt: Array<UInt8> = Array("somekey".utf8)
let signedBody = try? HKDF(password: password, salt: salt, variant: .sha256).calculate()
但没有什么比真相的来源更有效。有什么想法吗?