加密、解密、摘要、签名、证书一文搞懂
生活随笔
收集整理的这篇文章主要介绍了
加密、解密、摘要、签名、证书一文搞懂
小编觉得挺不错的,现在分享给大家,帮大家做个参考.
概念
是否可逆 | 意思 | 算法举例 | 说明 | 能力 |
可逆 | 加密过后的数据可以解密出来 | AES,DES,3DES等 | 对称加密 | 快 |
RSA,RSA2等 | 非对称,公钥加密私钥解密或者反过来,用于验签 | 加密的数据越多越慢,RSA2目前只能加密少于密钥长度的数据,目前的计算机还不能破解2048长度的密文 | ||
不可逆 | 加密过了就没法解开了,唯一的数据加密后的结果唯一 | MD5,SHA1,SHA256,SHA512等 | 一般不称之为加密算法,而叫摘要算法 | 快,据说google暴力破解过SHA1算法了 |
从普通加密解密到证书的过程
以服务端S到客户端C的单向通信举例
- 对称加密存在的问题是C和S怎么传盐,无论放在互联网的任何地方,盐被偷了,又知道你们的加密算法,肯定能破解。
- 不可逆加密,数据就失去可读性,C和S得到不认识的数据,倒是可以用于验签,但是这么干不是吃饱了撑的?
- 从真实数据到证书的过程:
-
一般加密通信的流程(比如银行)
以上说的是S到C的单向通信,S端需要解密和验签,C端同样,所以流程是这样的。
- C生成自己的公钥和私钥(比如用openSSL工具生成,支付宝平台可以在线生成),S生成自己的公钥和私钥,S另外再生成盐(用于摘要的盐,不是对称加密的盐),然后C在S的后台管理系统注册登录,上交自己的公钥,C同时获得S的盐和公钥。因为C是在S的系统里获取的,相当于在S的系统里把自己的公钥手写进去和把S的公钥和盐手抄下来,没有网络传输,所以还是安全的。
- 然后C和S通信或者S向C通信的时候就用相同的摘要算法(这个算法C和S线下商定)对明文+盐进行摘要,然后用自己的私钥对明文和摘要(一般是直接拼接字符串)加密,即生成签名,然后就可以把摘要+签名(统称包)在网络上传输。对方取得包之后用自己的私钥解开,得到明文和摘要,再用明文+盐生成摘要对比一下对方传过来的摘要,即验签,对的上得话说明数据没被篡改,安全,就可以用明文进行自己的工作了。
总结
以上是生活随笔为你收集整理的加密、解密、摘要、签名、证书一文搞懂的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: 记一个mysql分页查询优化试验
- 下一篇: 大亚湾临深房价最新消息合生紫悦府是现房吗