单向散列、对称加密、非对称加密、签名、证书
单向散列: MD4、MD5、SHA-1、SHA-256、SHA-384、SHA-512 特点:加密后不可逆转(ps:无法还原) 其中MD4、MD5、SHA-1已不安全(有很大概率会被破解)
对称加密: DES/3DES(已不安全,不推荐使用) AES(目前通用的加密算法)
非对称加密:
RSA(公私钥加密):利用公钥进行加密,私钥进行解码
混合密码加密: 会话密钥 (session key) 1.为本次通信随机生成的临时密钥 2.作为对称加密的密钥,用于加密消息,提高速度 加密步骤(发送消息) 1.首先,消息发送者要拥有消息接收者的公钥 2.生成会话密钥,作为对称加密的密钥,加密消息 3.用消息接收者的公,加密会话密钥 4.将前2步生成的加密结果,一并发给消息接收者 发送出去的内容包括 1.用会话密钥加密的消息 (加方法: 对称加密) 2.用公钥加密的会话密钥 (加密方法:非对称加密
解密步骤(收到消息) 1.消息接收者用自己的私钥解密出会话密钥 2.再用第D步解密出来的会话密钥,解密消息
数字签名:
生成签名
由消息的发送者完成,通过“签名密钥”生成
验证签名
由消息的接收者完成,通过“验证密钥”验证
如果有人算改了消息内容或签名内容,会是什么结果?
签名验证失败,证明内容被篡改了
数字签名不能保证机密性?
数字签名的作用不是为了保证机密性,仅仅是为了能够识别内容有没有被篡改
数字签名的作用
1.确认消息的完整性
2.识别消息是否被篡改
3.防止消息发送人否认
解决密钥配送问题 1.由消息的接收者,生成一对公钥、私钥 2.将公发给消息的发送者 3.消息的发送者使用公钥加密消息 4.非对称加密的加密解密速度比对称加密要慢
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2020-03-21 Android使用AnnotationProcessor模仿ButterKnife