博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
关于加密的那些事
阅读量:5946 次
发布时间:2019-06-19

本文共 749 字,大约阅读时间需要 2 分钟。

  hot3.png

今天和一个小兄弟讲解加密的东西,从登录验证码说到单点登录,发现技术确实是整合了才能在实际中运用。

1、验证码是为了识别操作人是电脑还是人类,皮皮书屋就更牛了,识别的是程序员

2、MD5做为散列算法是很有效的,但网上已经有大量的MD5与明文对照表,因此需要在用户表中加个Salt字段,该字段值也是随机产生的,可以有效避免数据库信息泄漏后的密码破解。

3、DES等对称算法虽然好用,但无法识别出密文来源(可能是密匙泄漏后有人伪造),因此需要使用RSA算法。然而RSA算法速度太慢,无法有效加密大量数据,怎么办呢。聪明人就想出了,先用随机算法产生密匙(代号K),并用DES对数据加密,再用RSA对K进行加密,然后把2个密文都传给对方。为了验证密文解出的是否正确,最好还把明文数据做一次散列运算,也用RSA加密该散列值。

4、上述RSA的关键是公私密匙的保管如何能更安全,聪明的人类又想到了写到硬件里,这就是我们手上一堆银行的U盾的来由。从逻辑上的角度来看,U盾是验证码的升级:识别操作者是帐号所有者本人。

5、单点登录有很多种,这里只说类网银的做法,这种做法我们在多系统中也可以很好的运用。超连接上带有各种需要传递的信息,如:用户名等。同时还要带上MD5(用户名... + Key + DateTime或Guid),Key是事先在2个系统上已经存好的,Guid可以让该MD5值每次都不一样,而且只能一次有效(需要数据库记录该值,类似于充值卡只能一次有效)。如果是DateTime,则不需要记录数据库,但要处理好2台服务器可能时间不同步的问题,简单的解决办法是接收方评估出可能的时间误差,并把误差内的时间点都算一轮。

转载于:https://my.oschina.net/sqhua/blog/130004

你可能感兴趣的文章
Android网络之数据解析----SAX方式解析XML数据
查看>>
Java递归列出所有文件和文件夹
查看>>
[关于SQL]查询成绩都大于80分的学生
查看>>
Delphi(Tuxedo,BDE,ADO)三合一数据集组件HsTxQuery
查看>>
LeetCode - Longest Common Prefix
查看>>
Android图片处理
查看>>
2015年第21本:万万没想到,用理工科思维理解世界
查看>>
大家谈谈公司里的项目经理角色及职责都是干什么的?
查看>>
剑指offer
查看>>
Velocity魔法堂系列二:VTL语法详解
查看>>
NopCommerce架构分析之八------多语言
查看>>
转:Eclipse自动补全功能轻松设置
查看>>
mysql update操作
查看>>
Robots.txt - 禁止爬虫(转)
查看>>
MySQL数据库
查看>>
Mysql 监视工具
查看>>
SSH详解
查看>>
ASM概述
查看>>
【290】Python 函数
查看>>
godaddy域名转发(域名跳转)设置教程
查看>>