swift 3.0 加密

加密算法的类别

  • 线性散列加密(MD5):只生成一串不可逆的密文,经常用其效验数据传输过程中是否经过修改,因为相同的生成算法对于同一明文只会生成唯一的密文,若相同算法生成的密文不同,则证明传输数据进行过了修改

  • 对称加密(DES/3DES):信息接收双方都需事先知道密匙和加解密算法且其密匙是相同的,之后便是对数据进行加解密了

  • 非对称加密(RSA):发送双方A,B事先均生成一堆密匙,然后A将自己的公有密匙发送给B,B将自己的公有密匙发送给A,如果A要给B发送消 息,则先需要用B的公有密匙进行消息加密,然后发送给B端,此时B端再用自己的私有密匙进行消息解密,B向A发送消息时为同样的道理

MD5

// 桥接文件导入头文件
#import 
extension String {
    var MD5: String! {
        let str = self.cString(using: String.Encoding.utf8)
        let strLen = CC_LONG(self.lengthOfBytes(using: String.Encoding.utf8))
        let digestLen = Int(CC_MD5_DIGEST_LENGTH)
        let result = UnsafeMutablePointer.allocate(capacity: digestLen) CC_MD5(str!, strLen, result)
        let hash = NSMutableString()
        for i in 0..

DES

RSA

你可能感兴趣的:(swift 3.0 加密)