RSA非对称加密

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下载地址

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 证书的概念在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公...
    像小强一样活着阅读 7,991评论 6 9
  • 算法简介 RSA算法是一种非对称密码算法,所谓非对称,就是指该算法需要一对密钥,使用其中一个加密,则需要用另一个才...
    锦鲤跃龙阅读 2,958评论 0 0
  • /**ios常见的几种加密方法: 普通的加密方法是讲密码进行加密后保存到用户偏好设置( [NSUserDefaul...
    彬至睢阳阅读 8,155评论 0 7
  • 一、对称加密与非对称加密 对称加密:加密和解密使用的是同一个密钥,加解密双方必须使用同一个密钥才能进行正常的沟通。...
    会跳舞的机器人阅读 12,337评论 0 8
  • 半夜,你醒了,眯着惺忪的弯弯的眼睛,一双小手捧着妈妈的脸,小声的甜甜的喊,妈妈,妈妈听到心都化了,应该是平常我没有...
    映娘阅读 1,085评论 0 0