php - openssl“私钥加密公钥解密”与“私钥签名公钥验签”分别适用于什么场景?
黄舟
黄舟 2017-04-11 08:56:33
[PHP讨论组]

这2个目的都差不多呀,都可以保证接受到的数据不是被篡改的。

还有2个都用的情况“公钥解密后的数据再公钥验签”存在吗?

黄舟
黄舟

人生最曼妙的风景,竟是内心的淡定与从容!

全部回复(4)
PHP中文网

你说反了吧, 是公钥加密, 私钥是用来解密的. 公钥就是开放出去的, 如果能解密那还得了.

  • 公钥加密, 是用别人给你的公钥加密. (这样别人的私钥才能解密)

  • 私钥签名, 是用你自己的私钥签名.(这样别人才知道这是你发送的密文, 而不是第三方伪造的)

怪我咯

之前恰好碰到过。

对方是一家保险公司,可想而知对数据的真实性和完整性校验有多严格。

流程是,

1.先对业务数据做排序后用对方公钥加密

2.再用己方私钥对整体数据加签

对方接到数据后用用我方公钥验签,验签成功再用对方私钥解密。

验签成功表示确实是配对的私钥生成的,私钥解密成功表示数据未被修改过。

参考:
http://www.ruanyifeng.com/blo...

迷茫

你看看这个

迷茫

登陆认证、web api接口调用、支付接口,这些场景基本都用吧,现在很多API没有用这样的认证,但看过京东的登录页面,它目前的确是用的rsa验证,并且它的 rsa 公钥每天都不一样

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号