【发布时间】:2018-11-18 22:31:16
【问题描述】:
大家好,我是第一次使用 SHA256,我正在尝试按照教程进行操作,我的问题是在 SHA 256 的 Objective C 中编写等效项。我正在尝试了解我的功能在下面向您展示,但我仍然对如何在此 Swift 函数的 Objective C 中找到等价性有疑问
let rsa2048Asn1Header:[UInt8] = [
0x30, 0x82, 0x01, 0x22, 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86,
0xf7, 0x0d, 0x01, 0x01, 0x01, 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00
]
private func sha256(data : Data) -> String {
var keyWithHeader = Data(bytes: rsa2048Asn1Header)
keyWithHeader.append(data)
var hash = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH))
keyWithHeader.withUnsafeBytes {
_ = CC_SHA256($0, CC_LONG(keyWithHeader.count), &hash)
}
return Data(hash).base64EncodedString()
}
你能帮帮我吗?
【问题讨论】:
-
你search了吗?
-
我试图查看许多示例,但我不想在 Objective C 中的等效函数中出错......它们看起来彼此非常不同
-
试试吧!如果你在 Swift 和 ObjC 中得到了理智的结果,你就找到了正确的解决方案。实际上 Stackoverflow 并不是一个代码编写/代码转换服务。
标签: ios objective-c swift nsdata sha256