发表于: 2019-08-29 20:18:14
1 714
主要是学习知识点,偏理论.
通信协议 cookie
afterCompletion: 整个请求处理完毕回调方法,即在视图渲染完毕时回调,如性能监控中我们可以在此记录结束时间并输出消耗时间,还可以进行一些资源清理,类似于try-catch-finally中的finally,但仅调用处理器执行链中preHandle返回true的拦截器的afterCompletion。
图:执行流程.
2.1)原理:
可以将整个文件当做一个大文本信息,通过不可逆的字符串变换算法,产生一个唯一的MD5信息摘要,该md5值是全世界独一无二的,文件的任何变动也会导致md5值的变化,因此可以用此保证文件的数据一致性.
MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
- 不可逆,无法得知某md5值原来的字符串是什么
- 高度离散型,原信息的细微变化也会导致md5发生巨大变化
- 压缩性,md5值长度固定,无论原数据长度如何
- 弱碰撞性,已知原数据和其md5值,想找到一个具有相同md5值的数据非常困难
2.3)典型应用场景:
- 密码的加密存储,用户设置密码时,服务端只记录这个密码的MD5,而不记录密码本身,以后验证用户身份时,只需要将用户输入的密码再次做一下MD5后,与记录的MD5作一个比较即可验证其密码的合法性。
- 数字签名,比如发布一个程序,为了防止别人在你的程序里插入病毒或木马,你可以在发布这个程序的同时,公开这个程序文件的MD5码,这样别人只需要在任何地方下载这个程序后做一次MD5,然后跟公开的这个MD5作一个比较就知道这个程序是否被第三方修改过。
- 文件完整性验证,比如当下载一个文件时,服务器返回的信息中包括这个文件的md5,在本地下载完毕时进行md5,将两个md5值进行比较,如果一致则说明文件完整没有丢包现象。
- 文件上传,比如百度云实现的秒传,就是对比你上传的文件md5在百度服务器是否已经存在了。
总结起来我的理解就是:md5值就像是一段信息独一无二的id,它能很确凿地确认一段信息的"身份".
3)DES:
(关于对称密码算法:网络安全通信中要用到两类密码算法,一类是对称密码算法,另一类是非对称密码算法。对称密码算法有时又叫传统密码算法、秘密密钥算法或单密钥算法,非对称密码算法也叫公开密钥密码算法或双密钥算法。对称密码算法的加密密钥能够从解密密钥中推算出来,反过来也成立。在大多数对称算法中,加密解密密钥是相同的。它要求发送者和接收者在安全通信之前,商定一个密钥。对称算法的安全性依赖于密钥,泄漏密钥就意味着任何人都能对消息进行加密解密。只要通信需要保密,密钥就必须保密。)
DES算法的3个入参:Key、Data、Mode。
Key为8个字节共64位,是DES算法的工作密钥;
Data也为8个字节64位,是要被加密或被解密的数据;
Mode为DES的工作方式,有两种:加密或解密。 如Mode为加密,则用Key 去把数据Data进行加密, 生成Data的密码形式(64位)作为DES的输出结果;如Mode为解密,则用Key去把密码形式的数据Data解密,还原为Data的明码形式(64位)作为DES的输出结果。
总结起来我的理解就是:DES加密就像是通信双方约定好一套加密规则(key),双方在传输信息过程中通过这套复杂的规则转换他们的信息,第三者因为没有key,就无法破解信息内容.
问题:
明天计划:
写拦截器实现登录验证.
评论