(转)php rsa加密解密实例(非对称加密)

转自:http://blog.csdn.net/clh604/article/details/20224735#

PHP服务端与客户端交互、提供开放api时,通常需要对敏感的部分api数据传输进行数据加密,这时候rsa非对称加密就能派上用处了,下面通过一个例子来说明如何用php来实现数据的加密解密

1、加密解密的第一步是生成公钥、私钥对,私钥加密的内容能通过公钥解密(反过来亦可以)

下载开源RSA密钥生成工具openssl(通常Linux系统都自带该程序),解压缩至独立的文件夹,进入其中的bin目录,执行以下命令:

openssl genrsa -out rsa_private_key.pem 1024

openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt -out private_key.pem

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

第一条命令生成原始 RSA私钥文件 rsa_private_key.pem,第二条命令将原始 RSA私钥转换为 pkcs8格式,第三条生成RSA公钥 rsa_public_key.pem

从上面看出通过私钥能生成对应的公钥,因此我们将私钥private_key.pem用在服务器端,公钥发放给AndroidiOS等前端

2、php中用生成的公钥、私钥进行加密解密,直接上代码


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

推荐阅读更多精彩内容

  • 嘟哝嘟哝:最近接到一个任务:在客户端动态生成RSA密钥对,然后向服务器发送这个密钥对中的公钥字符串,由服务器进行公...
    TimmyR阅读 8,081评论 19 21
  • 证书的概念在iOS中使用RSA加密解密,需要用到.der和.p12后缀格式的文件,其中.der格式的文件存放的是公...
    像小强一样活着阅读 2,941评论 6 9
  • 前言: 我们讲解了初级的对称加密,我想信大家也对加密以及为什么要加密有了一定的理解,但是对称加密有一个很大的缺点就...
    退役程序猿阅读 3,239评论 6 10
  • 我们坐着那一辆货车,在曲折蜿蜒向上盘旋的石子路爬行,咯咯噔噔,左右摇晃,山路两边得枯藤枝桠挂得车门嗤嗤作响。...
    i小森阅读 309评论 1 1
  • 欢子第9次作业 我的宝贝出生的前三个月,白天睡眠不好,我焦虑,担心睡不好影响生长发育(受害者)。我尝试了各种方式,...
    刘桂杰阅读 218评论 0 0