php实现openssl RSA非对称加密解密

今天跟第三方公司对接别人看了我写的文档当时文档写的是DES加密,然后我的一个回答都让我觉得对不起别人,我说了是AES加密,当时AES和RSA加解密的原理我不了解导致我也误解了别人,今天就特意去理解了一下,下面就看一下RSA非对称的加解密吧

首先先来说一下RSA和AES的区别吧

RSA

非对称加密,公钥加密,私钥解密,反之亦然。由于需要大数的乘幂求模等算法,运行速度慢,不易于硬件实现。

通常私钥长度有512bit,1024bit,2048bit,4096bit,长度越长,越安全,但是生成密钥越慢,加解密也越耗时。

既然是加密,那肯定是不希望别人知道我的消息,所以只有我才能解密,所以可得出公钥负责加密,私钥负责解密;

同理,既然是签名,那肯定是不希望有人冒充我发消息,只有我才能发布这个签名,所以可得出私钥负责签名,公钥负责验证。

AES

对称加密,密钥最长只有256个bit,执行速度快,易于硬件实现。由于是对称加密,密钥需要在传输前通讯双方获知。

基于以上特点,通常使用RSA来首先传输AES的密钥给对方,然后再使用AES来进行加密通讯。

好啦说完区别就来看一下RSA如何实现加解密的吧

第一步需要去:http://web.chacuo.net/netrsakeypair  这里生成两队公私钥,我用的是2048位(bit),PKCS#8的格式生成公私钥,我把公私钥放到了一个文件里面所以,下面的代码就是RSA的加密代码:

好啦上面就是RSA的加密啦

下面来看一下RSA的解密的代码吧!

好啦这些就是RSA的加解密的代码啦!!!


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值