ios swift sha1 md5 加密

原创 2015年11月18日 16:43:17

在Swift中通过调用OC的CommonCrypto库可以很方便的实现String字符串转换为sha1。

在一个swift项目中,需要使用桥接头文件(Bridging header)的方式来引入一个OC库,才能调用OC中的内容。

新建一个Objective-C  m文件

xode自动为我们创建了一个swift和OC桥接的文件:项目名-Bridging-Header.h

在Bridging-Header.h文件中输入:

#import <CommonCrypto/CommonCrypto.h>


在自己的swift类中扩展String方法


extension String {

    
    //sha1加密算法
    func getSha1() -> 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
    }
    
}

extension String {
    //md5加密算法
    func getMd5() -> 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)
    }

}

使用:

let s = "zhangsan"

print(s.getSha1())

print(s.getMd5())



使用Swift 3.0实现原生的MD5加密

MD5的全称是MessageDigest Algorithm 5,即消息摘要算法第五版,是计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。在90年代初由MIT Laboratory f...
  • fzhlee
  • fzhlee
  • 2017年03月15日 15:45
  • 3824

Swift MD5加密

Swift MD5加密在github有一个非常好的第三方库,使用也比较简单,还有很多加密方法,如果需要,点击这里下载  对于那些不需要太多的加密,只需要MD5加密的同学,我建议还是不要用第三方库.  ...

iOS swift MD5加密

在Swift中通过调用OC的CommonCrypto库可以很方便的实现String字符串转换为sha1。 在一个swift项目中,需要使用桥接头文件(Bridging header)的方式来引入...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

iOS swift 写的HMAC_SHA1和MD5加密

  • 2015年09月11日 10:12
  • 78KB
  • 下载

iOS开发之算法加密md5,sha1,AES,base64

1. md5:       MD5即Message-Digest Algorithm 5(信息-摘要算法5),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又译摘要算法、哈希算法),主流...

iOS开发之Objective-c的MD5/SHA1加密算法的实现

[objc] view plain copy   Objective-c实现MD5和SHA1算法相对还是比较简单的,可以直接调用系统的C/C++共享库来实现调用   MD...

iOS基于Objective-c的MD5/SHA1加密算法的实现

文章转自: http://www.lidaren.com/archives/724Objective-c实现MD5和SHA1算法相对还是比较简单的,可以直接调用系统的C/C++共享库来实现调用 MD...
  • jasamin
  • jasamin
  • 2015年05月14日 09:27
  • 312

iOS的MD5/SHA1加密算法的实现

MD5/SHA1加密算法的实现 for iOS

iOS开发之Objective-c的MD5/SHA1加密算法的实现

Objective-c实现MD5和SHA1算法相对还是比较简单的,可以直接调用系统的C/C++共享库来实现调用   MD5即Message Digest Algorithm 5(信息-摘要算法 5)...
  • rabewu
  • rabewu
  • 2015年04月13日 09:20
  • 430
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ios swift sha1 md5 加密
举报原因:
原因补充:

(最多只允许输入30个字)