Swift最新的AES加密解密

最近在看AEC加密解密相关东西,网上查了很多资料的,在最新的Swift5.0 上会报错下面附上最新代码

第一步 :引入CryptoSwift  在Pods的Podfile文件里增加一行  pod 'CryptoSwift'  

第二步:进入工程目录,pod install 下载CryptoSwift库

第三步:大家最关心的代码来了

亲测可用,欢迎使用

对于加密解密结果 可在http://tool.chacuo.net/cryptaes/ 进行比对 

 

加油!

//

//  AESCode.swift

//  VideoMD

//

//  Created by 王红艳 on 2020/12/4.

//

 

import UIKit

import CryptoSwift

 

class AESCode {

    

    static let key = "yytkjfgzmnklfgyy"

    static let iv = ""

    static let salt = "DEgdrgadfsfasdbadrggasdfgosnt"

 

    //MARK: -AES-ECB128加密

    public static func Endcode_AES_ECB(strToEncode:String)->String {

        var encodeString = ""

 

        do {

            let aes =  try AES(key: key.bytes, blockMode: ECB(), padding: .pkcs7)

            let encoded = try aes.encrypt(strToEncode.bytes)

            encodeString = encoded.toBase64()!

            print(encodeString)

        } catch {

            print(error.localizedDescription)

        }

        return encodeString

    }

    

    //  MARK:  -AES-ECB128解密

    public static func Decode_AES_ECB(strToDecode:String)->String {

        //decode base64

        let data = NSData(base64Encoded: strToDecode, options: NSData.Base64DecodingOptions.init(rawValue: 0))

 

        // byte 数组

        var encrypted: [UInt8] = []

        let count = data?.length

 

        // 把data 转成byte数组

        for i in 0..

            var temp:UInt8 = 0

            data?.getBytes(&temp, range: NSRange(location: i,length:1 ))

            encrypted.append(temp)

        }

 

        // decode AES

        var decrypted: [UInt8] = []

        do {

            decrypted = try AES(key: key.bytes, blockMode: ECB(), padding: .pkcs7).decrypt(encrypted)

        } catch {

        }

        // byte 转换成NSData

        let encoded = Data(decrypted)

        var str = ""

        //解密结果从data转成string

        str = String(bytes: encoded.bytes, encoding: .utf8)!

        return str

    }

    

    //MARK: -MD5 加密

    public static func MD5(codeString: String) -> String {

        // 加盐加密

        let md5String =  (codeString + salt).md5()

        return md5String

    }

}

 

你可能感兴趣的:(Swift,swift,加密解密)