方法
扩展data支持将字符串进行sha256加密
import Foundation
import CommonCrypto
import CryptoKit
func hexString(_ iterator:Array<UInt8>.Iterator) -> String{
return iterator.map{
String(format: "%02x", $0)
}.joined()
}
extension Data {
var sha256: String {
if #available(OSX 10.15, *){
return hexString(SHA256.hash(data: self).makeIterator())
}else{
var disest = [UInt8](repeating: 0, count: Int(CC_SHA256_DIGEST_LENGTH))
self.withUnsafeBytes {
bytes in
_ = CC_SHA256(bytes.baseAddress,CC_LONG(self.count),&disest)
}
return hexString(disest.makeIterator())
}
}
}
文章备忘。
|