Saz*_*han -2 sha256 deprecated swift
我收到以下代码的弃用警告,
_ = data.withUnsafeBytes {
_ = CC_SHA256($0, CC_LONG(data.count), &digest)
}
Run Code Online (Sandbox Code Playgroud)
'withUnsafeBytes' 已弃用:
withUnsafeBytes<R>(_: (UnsafeRawBufferPointer) throws -> R) rethrows -> R改用
我该如何处理这个问题?
根据 Martin 的建议,我使用了下面的Swift-5代码,
func sha256(data : Data) -> Data {
var hash = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH))
data.withUnsafeBytes {
_ = CC_SHA256($0.baseAddress, CC_LONG(data.count), &hash)
}
return Data(hash)
}
Run Code Online (Sandbox Code Playgroud)
这甚至会给编译器带来错误,
类型“UnsafePointer<_>”的值没有成员“baseAddress”
马丁的解决方案效果很好Xcode 11.3.1+,
func sha256(data : Data) -> Data {
var hash = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH))
data.withUnsafeBytes {
_ = CC_SHA256($0.baseAddress, CC_LONG(data.count), &hash)
}
return Data(hash)
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2040 次 |
| 最近记录: |