zoukankan      html  css  js  c++  java
  • 在iOS中使用OpenSSL的Public Key 进行加密

    这几天一直潜心于iOS开发,刚好把遇到的问题都记录一下。这次遇到的问题就是如果根据得到的Public Key在iOS 客户端对用户名和密码进行加密。

    Public Key如下:

    -----BEGIN PUBLIC KEY-----
    MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCp0wHYbg/NOPO3nzMD3dndwS0MccuMeXCHgVlGOoYyFwLdS24Im2e7YyhB0wrUsyYf0/nhzCzBK8ZC9eCWqd0aHbdgOQT6CuFQBMjbyGYvlVYU2ZP7kG9Ft6YV6oc9ambuO7nPZh+bvXH0zDKfi02prknrScAKC0XhadTHT3Al0QIDAQAB
    -----END PUBLIC KEY-----

    然后就在Google里搜索在iOS 进行RSA 加密,搜到了几篇文章如下:

    iOS 上的 RSA 加密方法

    iOS 上的 RSA 加密方法

    仔细看了一下这两篇文章,发现他们都是从文件中读取Public_Key进行加密,而我遇到的场景是Public_Key是给定的,而不是生成自己的Public_Key进行加密,所以这两篇文章对我的帮助不大。

    然后在stackoverflow上找到这个问题,链接为:Encryption with RSA public key on iOS,@ideawu 已经将这个加密算法公开出来,然后根据自己的尝试发现这个方法是可行的。下面就是直接调用他写好的方法进行加密,与服务器端进行解密就完成了加密和解密的过程啦。

    NSString *encryptUserName = [RSA encryptString:userName publicKey:pubkey];
    NSString *encryptPassword = [RSA encryptString:password publicKey:pubkey];

    最后如果访问GitHub有问题的话,我把RSA文件上传到自己的空间方便大家下载。

    RSA文件

  • 相关阅读:
    Zepto源码分析-event模块
    Zepto源码分析-callbacks模块
    Zepto源码分析-zepto模块
    Zepto源码分析-架构
    HTML5标签
    前端微信分享
    .net core 2.x
    .net core 2.x
    .net core 2.x
    .net core 2.x
  • 原文地址:https://www.cnblogs.com/dm521/p/rsaencrypt_publickey.html
Copyright © 2011-2022 走看看