zoukankan      html  css  js  c++  java
  • iOS RSA 加密串生成

    1、生成密钥:

    使用终端openssl命令生成密钥

    1).生成私钥,密钥长度为2048bit,base64编码。

    openssl genrsa -out rsa_private_key.pem 2048      (128/512/1024/2048)
    

    关于密钥长度,这里要进行一下特别说明。每次加密的数据不能超出密钥的长度,2048bit长度的密钥,只能单次只能加密(2048 / 8 - 11) = 245byte长度的数据。(那11byte是RSA预留的长度)。若待加密的数据长度超过了245byte,就需要对数据进行分段加密。

    2).根据之前生成的私钥生成公钥:

    openssl rsa -in rsa_private_key.pem -out rsa_public_key.pem -pubout
    

    3).将生成的私钥为转换PKCS8格式,这种格式可以直接在iOS项目中使用:

    openssl pkcs8 -topk8 -in rsa_private_key.pem -out pkcs8_rsa_private_key.pem -nocrypt
    

    我司的情况是由公司后台生成私钥和公钥,提供.pem格式的公钥给移动端,因此我直接使用的是pkcs8格式的公钥。

    最后使用生成2和3的文件 rsa_public_key.pem和pkcs8_rsa_private_key.pem


    作者:Doliant_H
    链接:https://www.jianshu.com/p/4f76b07c7390
    来源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    AES加密解密
    水电缴费管理系统 需求分析与设计
    ORACLE SQL语句练习
    GUID全局唯一标识符(转)
    java 基础--多线程基础练习
    java基础List集合练习
    I/O输入输出流的练习
    java基础--集合练习
    java基础异常捕获处理
    java基础 接口练习
  • 原文地址:https://www.cnblogs.com/yeng/p/13528225.html
Copyright © 2011-2022 走看看