swift 3.0 sha1方法

//需引用头文件
#import <CommonCrypto/CommonCrypto.h>
//sha1
func sha1() -> String{
let data = self.data(using: String.Encoding.utf8, allowLossyConversion: true)!
let uint8Ptr = UnsafeMutablePointer<UInt8>.allocate(capacity: data.count)
uint8Ptr.initialize(from: data) //<-copying the data
let rawPtr = UnsafeRawPointer(uint8Ptr)
var digest = UInt8

    CC_SHA1(rawPtr, CC_LONG(data.count), &digest)
    let output = NSMutableString(capacity: Int(CC_SHA1_DIGEST_LENGTH))
    for byte in digest{
        output.appendFormat("%02x", byte)
    }
    return output as String
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 《裕语言》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 10...
    叶染柒丶阅读 27,835评论 5 19
  • 307、setValue:forKey和setObject:forKey的区别是什么? 答:1, setObjec...
    AlanGe阅读 1,586评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,951评论 19 139
  • 《ilua》速成开发手册3.0 官方用户交流:iApp开发交流(1) 239547050iApp开发交流(2) 1...
    叶染柒丶阅读 10,988评论 0 11
  • Air Jordan 现在已经成为一种潮流,很多人对飞人的鞋情有独钟,但是并不一定了解它。 相信大多数老球迷对于A...
    鞋斯底里阅读 467评论 0 0