Swift 调用sha1

作者: 李大瘦 | 来源:发表于2019-08-06 15:29 被阅读0次

    我在网上找的很多是结合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()
    

    相关文章

      网友评论

        本文标题:Swift 调用sha1

        本文链接:https://www.haomeiwen.com/subject/dofwdctx.html