ios swift Data sha256加密

1.用第三方库CryptoSwift(推荐),本人还没有实测

CryptoSwift - github

2.下面的代码本人亲测有效

import Foundation
import CommonCrypto
import CryptoKit

func hexString(_ iterator:Array<UInt8>.Iterator) -> String{
    
    
    return iterator.map{
    
    
        String(format: "%02x", $0)
    }.joined().uppercased() //字符串转成大写
}
extension Data {
    
    
    /// 扩展data支持将字符串进行sha256加密
    var sha256: String {
    
    
        if #available(iOS 13.0, *) {
    
    
            return hexString(SHA256.hash(data: self).makeIterator())
        } else {
    
    
            // Fallback on earlier versions
            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())
        }
    }
}

参考博客:

swiftUI之如何进行sha256加密

猜你喜欢

转载自blog.csdn.net/baidu_40537062/article/details/125192573