美文网首页
Swift RSA加密

Swift RSA加密

作者: 通哥 | 来源:发表于2024-11-07 14:25 被阅读0次

通过SwiftyRSA对数据进行加密

第一步:导入库文件
pod 'SwiftyRSA', "~> 1.7.0"
pod 'CryptoSwift', "~> 1.8.3"
第二步:编辑代码
iimport UIKit
import SwiftyRSA
import CryptoSwift

let PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArdklK4kIsOMuxTZ8jG1PRPfXqSDmaCIQ+xEpIRSssQ6jiuvhYZTMUbV22osgtivuyKdnHm+cvzGuZCSB8QFyCcM7l09HZVs0blLkrBAU5CVSv+6BzPQTVJytoi/VO4mlf6me1Y9bXWrrPw1YtC1mnB2Ix9cuaxOLpucglfGbUaGEigsUZMTD2vuEODN5cJi39ap+G9ILitbrnt+zsW9354pokVnHw4Oq837Fd7ZtP0nAA5F6nE3FNDGQqLy2WYRoKC9clDecD8T933azUD98b5FSUGzIhwiuqHHeylfVbevbBW91Tvg9s7vUMr0Y2YDpEmPAf0q4PlDt8QsjctT9kQIDAQAB"

let PRIVATE_KEY = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCt2SUriQiw4y7FNnyMbU9E99epIOZoIhD7ESkhFKyxDqOK6+FhlMxRtXbaiyC2K+7Ip2ceb5y/Ma5kJIHxAXIJwzuXT0dlWzRuUuSsEBTkJVK/7oHM9BNUnK2iL9U7iaV/qZ7Vj1tdaus/DVi0LWacHYjH1y5rE4um5yCV8ZtRoYSKCxRkxMPa+4Q4M3lwmLf1qn4b0guK1uue37Oxb3fnimiRWcfDg6rzfsV3tm0/ScADkXqcTcU0MZCovLZZhGgoL1yUN5wPxP3fdrNQP3xvkVJQbMiHCK6ocd7KV9Vt69sFb3VO+D2zu9QyvRjZgOkSY8B/Srg+UO3xCyNy1P2RAgMBAAECggEAInVN9skcneMJ3DEmkrb/5U2yw2UwBifqcbk/C72LVTTvmZOTgsH5laCARGUbQMCIfeEggVniGcuBI3xQ/TIqJmE6KI2gOyjOxadMiAZP/cCgHEbsF3Gxey3rBKCyhTCNSzaVswLNO0D8C+1bTatKEVuRRvsRykt/fL+HJ/FRteYYO9LuLv2WESJGE6zsi03P6snNiRracvYqz+Rnrvf1Xuyf58wC1C6JSjZ9D6tootPDBTEYaIIbpEnV+qP/3k5OFmA9k4WbkZI6qYzqSK10bTQbjMySbatovnCD/oqIUOHLwZpL051E9lz1ZUnDbrxKwT0BIU7y4DYaHSzrKqRsIQKBgQDTQ9DpiuI+vEj0etgyJgPBtMa7ClTY+iSd0ccgSE9623hi1CHtgWaYp9C4Su1GBRSF0xlQoVTuuKsVhI89far2Z0hR9ULr1J1zugMcNESaBBC17rPoRvXPJT16U920Ntwr00LviZ/DEyvmpVDagYy+mSK0Wq+kH7p5aR5zAHXWrQKBgQDSqQ6TBr5bDMvhpRi94unghiWyYL6srSRV9XjqDpiNU+yFwCLzSG610DyXFa3pV138P+ryunqg1LtKsOOtZJONzbS1paINnwkvfwzMpI7TjCq1+8rxeEhZ3AVmumDtPQK+YfGbxCQ+LAOJZOu8lGv1O7tsbXFp0vh5RmWHWHvy9QKBgCMGPi9JsCJ4cpvdddQyizLk9oFxwAlMxx9G9P08H7kdg4LW6l0Gs+yg/bBf86BFHVbmXW8JoBwHj418sYafO+Wnz8yOna6dTBEwiG13mNvzypVu4nKiuQPDh8Ks/rdu1OeLGbC+nzbnCcMuKw5epee/WYqO8kmCXRbdv4ePTvntAoGBAJYQ9F7saOI3pW2izJNIeE8HgQcnP+2GkeHiMjaaGzZiWJWXH86rBKLkKqV+PhuBr2QorFgpW34CzUER7b7xbOORbHASA/UsG8EIArgtacltimeFbTbC9td8kyRxFOcrlS7GWvUZrq/TbtmLWRtHp/hUitlcxXQbZAIQkfbuo62ZAoGBAKBURvLGM0ethkvUHFyGae2YGG/s+u+EYd2zNba7A6qnfzrlMHVPiPO6lx31+HwhuJ0tBZWMJKhEZ5PWByZzreVKVH5fE5LoQLo+B3VCTyTc1fJ9RKLAPrPqHuvzPHHP/n84XHGeit3e4ytd3Mm/6CNbrg7xux2M4RDQmN//1UOY"

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()
        let rsa = rsa_encrypt("1212121212121")
        print("加密数据 = \(rsa)")
        
        let rsa2 = rsa_decrypt(rsa)
        print("解密数据 = \(rsa2)")
    }

    ///rsa加密
    func rsa_encrypt(_ str:String) -> String{
        var reslutStr = ""
        do{
            let rsa_publicKey = try PublicKey(pemEncoded: PUBLIC_KEY)
            let clear = try ClearMessage(string: str, using: .utf8)
            reslutStr = try clear.encrypted(with: rsa_publicKey, padding: .PKCS1).base64String
        }catch{
            print("RSA加密失败 - \(error)")
        }
        return reslutStr;
    }
    
    ///rsa解密
    func rsa_decrypt(_ str:String) -> String{
        var reslutStr = ""
        let enData = Data(base64Encoded: str, options: .ignoreUnknownCharacters)!
        do{
            let rsa_privateKey = try PrivateKey(pemEncoded: PRIVATE_KEY)
            let data = try EncryptedMessage(data: enData).decrypted(with: rsa_privateKey, padding: .PKCS1).data
            reslutStr = String(bytes: data.bytes, encoding: .utf8) ?? ""
        }catch{
            print("RSA解密失败")
        }
        return reslutStr
    }
    

}
第三步
打印结果
加密数据 = fJR9Z/m1t+X5pee0dcWtMosRcY1i+1d2HLKnOhOoUQ4aCQo91dksZlw7FUY7jsZXkqrVrbViRxQby7y9bYafUUvwgz2YdnoyoMxt3EHeXwSJoyEzB+y4g17dPu7RbScrMWWTZZVtWdEkuG4rdcKjiKNzJn9vQ1JgdiGWARQJUkV6ttkdIMD69gKXwbXg+f1oVLKRq1TWgLpC+qtSVsBIMTFb+4ancdqw3CDt4bUzgDXocInTzBFC0BNy7q6Mnjm+KfIL7Jq3TUXVJLlkqX0Qwq/HnkXuzjaeG+S6mchNDBgfkmD8rTezFZxNJWk8DEqVaO9iwCdr6PcJx8LvCZZmwQ==
解密数据 = 1212121212121

相关文章

  • 开源框架 RSA_Swift

    RSA_Swift RSA_Swift 是一款轻量级的 Swift 版本的框架,框架功能包括:RSA 加密/解密字...

  • Swift5加密解密RSA算法

    Swift5加密解密RSA算法适配 https://github.com/StevenGardnerGMJ/GMJ...

  • swift-RSA(一)

    如何使用swift进行RSA加解密呢? 一.这四个方面:加载公钥/加载私钥/RSA加密/RSA解密 1.加载公钥 ...

  • swift-RSA(三)-大数据块加解密

    如何使用swift进行RSA大数据块加解密呢? 1.使用RSA加密 2.使用RSA解密 3.调用及输出 调用 日志

  • swift-RSA(四)-OAEP模式

    swift进行RSA加解密时,如果使用 OAEP时,有什么区别? 1.RSA加密 2.RSA解密 3.注意事项 1...

  • swift-RSA(二)-SecKeyEncrypt errSe

    swift中,使用SecKeyEncrypt进行RSA加密时,会出现errSecParam(-50)? 如何解决呢...

  • RSA 加密

    使用Swift原生进行RSA加密处理: 一、导入: 二、 使用方法: 三、打印结果: 四、加密代码 转载自[htt...

  • RSA加密方式

    RSA加密方式 获取RSA密钥 加密 解密 js库

  • C# RSA加解密和MD5加密

    1.RSA加密 2.RSA解密 3.RSA签名 RSA签名验签 4.MD5加密

  • RSA签名认证

    RSA可汗学院第一章 RSA加密 RSA加密原理第一章 RSA加密原理第二章 如何生成RSA公钥私钥 生成类似支付...

网友评论

      本文标题:Swift RSA加密

      本文链接:https://www.haomeiwen.com/subject/hduxjjtx.html