iOS 字符串加密

在Swift中通过调用OC的CommonCrypto库可以很方便的实现String字符串加密。

创建了一个swift和OC桥接的文件,引入头文件

#import <CommonCrypto/CommonCrypto.h>

扩展String类

extension String {
    
    func Md5() -> String {
        let str = self.cStringUsingEncoding(NSUTF8StringEncoding)
        let strLen = CUnsignedInt(self.lengthOfBytesUsingEncoding(NSUTF8StringEncoding))
        let digestLen = Int(CC_MD5_DIGEST_LENGTH)
        let result = UnsafeMutablePointer<CUnsignedChar>.alloc(digestLen)
        
        CC_MD5(str!, strLen, result)
        
        let hash = NSMutableString()
        for i in 0..<digestLen {
            hash.appendFormat("%02x", result[i])
        }
        
        result.dealloc(digestLen)
        
        return String(hash)
    }
    
    func Sha1() -> String {
        let data = self.dataUsingEncoding(NSUTF8StringEncoding)!
        var digest = [UInt8](count:Int(CC_SHA1_DIGEST_LENGTH), repeatedValue: 0)
        CC_SHA1(data.bytes, CC_LONG(data.length), &digest)
        let output = NSMutableString(capacity: Int(CC_SHA1_DIGEST_LENGTH))
        for byte in digest {
            output.appendFormat("%02x", byte)
        }
        return output as String
    }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 我敬往事一杯酒,干了这杯再不回头。 〖壹〗 女孩拿着一个包装精制的盒子来到学校的快递站,“你好,请问一下寄到本校要...
    脆皮丸子阅读 363评论 0 1
  • 【七月影语】20170714学习力践行Day54 1.古诗背诵《春晓》《回乡偶书》《元日》《咏柳》《天净沙秋思》新...
    暖小柒阅读 165评论 0 0
  • 假如生活欺骗了你, 不要悲伤,不要心急! 忧郁的日子里需要镇静: 相信吧!快乐的日子将会来临。 心永远向往着未来;...
    阿冬不拉阅读 344评论 0 0