参考链接:https://www.cnblogs.com/pcheng/p/9629621.html

RAS简介

RSA加密是非对称加密,由一对秘钥进行完成加密解密,分别称为公钥和私钥,公钥加密,私钥解密,RSA可以完成加密和签名;

加密与签名的区别

加密是为了防止信息被泄露,签名是为了防止信息被篡改;

RSA加密过程:

假如B要发消息给A,首先A在本地生产一对秘钥,公钥和私钥,并将公钥发送给B,B使用公钥对消息进行加密,然后传输给A,A接收到消息后在本地使用私钥解密;

缺点:这种加密过程保证了消息不被泄露,但是避免不了消息被篡改,假如B发送给A的消息被黑客劫持,他通过公钥,自己伪造一条消息,通过公钥加密,发送给A,这样A收到的消息就不是B发送给A的了;

RSA签名过程:

A发送消息给B的时候,用私钥对消息进行加签,将加签后的消息与消息本体发给B,B使用公钥进行验签,如果验签出来的内容和消息本身一致,证明消息才是A回复的;

这样也会有一个问题,当黑客获取到消息后,可以使用公钥验签,来查看消息,并不能防止消息泄露;

总结:公钥加密、私钥解密、私钥签名、公钥验签。

所以在实际应用中,要根据情况使用,也可以同时使用加密和签名,比如A和B都有一套自己的公钥和私钥,当A要给B发送消息时,先用B的公钥对消息加密,再对加密的消息使用A的私钥加签名,达到既不泄露也不被篡改,更能保证消息的安全性。

A发送消息给B时:

A:加密+加签(B公钥加密,A私钥加签)

B:验签+解密(A公钥验签,B私钥解密)

假如中间消息被劫持,即使有A,B的公钥:对A发送给B的消息,因为没有B的私钥,所以消息不会泄露;因为没有A的私钥,所以消息不会篡改。

签名的时候,会泄露:因为签名黑客可以通过公钥验签,获取消息内容;

加密的时候,会被篡改:可以拦截消息,将自己定义的信息使用公钥加密传递给对方;

RSA加密、解密、签名、验签介绍相关推荐

  1. RSA 加密解密签名验签

    api package v1// get请求 import "github.com/gogf/gf/v2/frame/g"type GetKeyReq struct {g.Meta ...

  2. RSACryptoServiceProvider加密解密签名验签和DESCryptoServiceProvider加解密

    RSACryptoServiceProvider加密解密签名验签和DESCryptoServiceProvider加解密 原文:RSACryptoServiceProvider加密解密签名验签和DES ...

  3. js rsa验签_js rsa sign使用笔记(加密,解密,签名,验签)

    你将会收获: js如何加密, 解密 js如何签名, 验签 js和Java交互如何相互解密, 验签(重点) 通过谷歌, 发现jsrsasign库使用者较多. 查看api发现这个库功能很健全. 本文使用方 ...

  4. C# RSACryptoServiceProvider加密解密签名验签和DESCryptoServic

    C#在using System.Security.Cryptography下有 DESCryptoServiceProvider RSACryptoServiceProvider  DESCrypto ...

  5. iOS使用Security.framework进行RSA 加密解密签名和验证签名

    iOS 上 Security.framework为我们提供了安全方面相关的api: Security框架提供的RSA在iOS上使用的一些小结 支持的RSA keySize 大小有:512,768,10 ...

  6. golang RSA base64 加解密 签名验签

    1.秘钥.加密/签名字符串加密的格式 目前主要见到有hex及base64 (1)hex 针对hex的加解密 import ("encoding/hex" ) hex.DecodeS ...

  7. java rsa 验_Java使用RSA加密解密签名及校验

    RSA加密解密类: package com.ihep; import java.io.BufferedReader; import java.io.BufferedWriter; import jav ...

  8. Java使用RSA加密解密签名及校验

    RSA加密解密类: import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.FileReader; i ...

  9. 数据安全管理:RSA加密算法,签名验签流程详解

    本文源码:GitHub·点这里 || GitEE·点这里 一.RSA算法简介 1.加密解密 RSA加密是一种非对称加密,在公开密钥加密和电子商业中RSA被广泛使用.可以在不直接传递密钥的情况下,完成加 ...

  10. RSA加密算法补充签名验签部分

    小编很早之前写过一篇文章:RSA加密算法 以前封装的这一套还不错.但是缺少网络中经常要使用到的签名验签部分,所以在这里补充一下. 先晒一下总的封装: package com.taldh; /** Co ...

最新文章

  1. 招聘|追觅科技VSLAM​、CV算法实习生招聘
  2. 10.29 工作笔记 ndk编译C++,提示找不到头文件(ndk-build error: string: No such file or directory)...
  3. python的基础知识可以应用到哪方面-Python基础知识
  4. Linux不仅仅是开源
  5. Netty的ChannelFuture和ChannelPromise
  6. html h1 背影设为图片,CSS Backgrounds(背景)
  7. python使用opencv会蓝屏_Opencv和DirectShow一起做蓝屏抠像
  8. js将手机号中间四位变成*号
  9. ActiveMQ安装配置
  10. 从数据传输速率的视角思考信道利用率
  11. unity粒子特效附上贴图后播放动画
  12. 火狐浏览器怎么打不开网页
  13. java毕业设计——基于java+Spring+SSH的CRM客户关系管理系统设计与实现(毕业论文+程序源码)——CRM客户关系管理系统
  14. w10用计算机卸载,win10电脑卸载系统内置应用软件的简单方法
  15. 7-11 公约数与公倍数 (10 分)
  16. fatal error LNK1123 错误解决方法
  17. 在 WPF 中使用 Prism DryIOC 加载应用程序时导航到默认视图
  18. cpu、socket、core、thread 等术语之间的关系
  19. 在spring boot中使用@WebFilter配置filter(包括排除URL)
  20. ChatGPT大封号,注册功能关闭!亚洲成重灾区,网友喊话:不要登录,不要登录...

热门文章

  1. 忘记了压缩包密码,怎么解压文件?
  2. 苹果微信多开,苹果手机为什么不支持
  3. 织梦DedeCMS添加百度分享代码的最简单方法
  4. 《思考的技术》笔记四
  5. 【netbox怎么用?】netbox的使用方法及运行asp教程
  6. 非root权限如何读写Linux文件(转)
  7. OA办公系统能帮助企事业单位做什么?
  8. 动环监控系统机房智能监测系统
  9. 机器学习——核函数kernal
  10. 动态mfc下调试无法进入mfc源代码的解决方法