Swift 调用sha1

我在网上找的很多是结合oc写的,随着swift更新都不可用了,方法都换了。我重新整理了下,swift5.0可用

swift实现sha1加密算法,需要在Bridging-Header.h文件中添加下述语句
(建立桥接文件请自行查找方法)

#import<CommonCrypto/CommonHMAC.h>

方法如下:
对加密后的数据进行base64编码

//sha1加密 
extension String{
    func sha1() -> String {
        let data = self.data(using: String.Encoding.utf8)!
        var digest = [UInt8](repeating: 0, count: Int(CC_SHA1_DIGEST_LENGTH))
        CC_SHA1([UInt8](data), CC_LONG(data.count), &digest)
        let resultBytes = Data(bytes: digest, count: Int(CC_SHA1_DIGEST_LENGTH))
        let resultStr = resultBytes.base64EncodedString()
        return resultStr

        //无需base64输出,装换为16进制字符串输出
//        let output = NSMutableString(capacity: Int(CC_SHA1_DIGEST_LENGTH))
//        for byte in digest {
//            output.appendFormat("%02x", byte)
//        }
//        return output as String
    }
}

调用如下:

        let str = "111111".sha1()
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容