sha256 - 使用 swift4 创建 SHA256 哈希

标签 sha256 xcode9 swift4

我环顾四周,但只能找到使用 Objective-C 创建 SHA256 哈希的示例。有没有办法只用 Swift4 做到这一点?

最佳答案

你可以这样使用:

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
}

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

在桥接头文件中添加以下内容:
#import <CommonCrypto/CommonHMAC.h>

关于sha256 - 使用 swift4 创建 SHA256 哈希,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46780451/

相关文章:

swift - 替换 Data.withUnsafeBytes,因为它在 Swift 5.6 中已弃用

powershell - 从批处理文件运行时,Powershell 中的 Get-Filehash SHA256 加密会删除最后 4 位数字

objective-c - 使用 firebase for iOS 的 leveldb-library.framework 和 Xcode9

IOS 11/"Apps-prefs=root"功能在更新到 Swift 3 后不工作

ios - 自定义 TableViewController tableView() 方法未调用

json - 将 json 输出解码为模型

ios - Swift 4:无法将“数据”类型的值转换为预期的参数类型“数据”

ruby - 在 ruby​​ 中创建比特币地址

javascript - 使用 JavaScript 进行 Base64 编码的 HMAC 哈希

xcode - "cacheParamsComputed"在 Swift 4 中意味着什么?