美文网首页
RSA非对称加密

RSA非对称加密

作者: pingui | 来源:发表于2016-12-14 13:54 被阅读63次

    RSA非对称加密

    RSA非对称加密, 适用于Java和iOS

    应用场景:用户登录时对登录密码进行加密

    启动终端, 创建证书

    // create private_key.pem

    openssl genrsa -out private_key.pem 1024
    

    // create rsaCertReq.csr,这一步需要输入一些信息(包括国家、省、市等等),根据提示操作即可

    openssl req -new -key private_key.pem -out rsaCertReq.csr
    

    // create rsaCert.crt,其中3650是有效期(天),可随意写

    openssl x509 -req -days 3650 -in rsaCertReq.csr -signkey private_key.pem -out rsaCert.crt
    

    // create public_key.der, For iOS

    openssl x509 -outform der -in rsaCert.crt -out public_key.der
    

    // create private_key.p12, For iOS, 这一步需要设置密码,请牢记

    openssl pkcs12 -export -out private_key.p12 -inkey private_key.pem -in rsaCert.crt
    

    // create rsa_public_key.pem, For Java

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

    // Create pkcs8_private_key.pem, For Java

    openssl pkcs8 -topk8 -in private_key.pem -out pkcs8_private_key.pem -nocrypt
    

    在终端执行上面的命令后,会生成7个文件。其中public_key.derprivate_key.p12这对公私钥给iOS使用,rsa_public_key.pempkcs8_private_key.pemJAVA使用。

    它们的源都来自一个私钥:private_key.pem, 所以iOS端加密的数据,可以被JAVA端解密; 同样JAVA端加密的数据iOS端也能解密。

    iOS 代码

    请将public_key.derprivate_key.p12文件拖入Xcode项目,以及NSData+Base64.h/m(可从网上下载), 并引入Security.framework依赖库。

    Demo下载地址

    相关文章

      网友评论

          本文标题:RSA非对称加密

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