私はソーシャル メディア アプリケーションを構築しています。Swift でパスワード文字列を SHA512 にエンコードする方法を教えてください。GitHub で CryptoSwift ライブラリを見つけましたが、それを Swift プロジェクトにロードしてプロジェクト ファイルにリンクするのに苦労しています。これを比較的簡単に達成する方法を知っている人はいますか?前もってありがとう、カイル
質問する
8932 次
5 に答える
8
Swift 3のソリューション:
extension String {
func sha512() -> String {
let data = self.data(using: .utf8)!
var digest = [UInt8](repeating: 0, count: Int(CC_SHA512_DIGEST_LENGTH))
data.withUnsafeBytes({
_ = CC_SHA512($0, CC_LONG(data.count), &digest)
})
return digest.map({ String(format: "%02hhx", $0) }).joined(separator: "")
}
}
于 2017-03-03T12:37:31.330 に答える
2
スイフト3
func sha512() -> String {
let data = self.data(using: .utf8)!
var digest = [UInt8](repeating: 0, count: Int(CC_SHA512_DIGEST_LENGTH))
data.withUnsafeBytes({
_ = CC_SHA512($0, CC_LONG(data.count), &digest)
})
return digest.map({ String(format: "%02hhx", $0) }).joined(separator: "")
}
スイフト 2.3
func sha512() -> String {
let data = self.dataUsingEncoding(NSUTF8StringEncoding)!
var digest = [UInt8](count:Int(CC_SHA512_DIGEST_LENGTH), repeatedValue: 0)
CC_SHA512(data.bytes, CC_LONG(data.length), &digest)
let hexBytes = digest.map { String(format: "%02hhx", $0) }
return hexBytes.joinWithSeparator("")
}
于 2016-05-18T13:41:23.663 に答える