关于用户密码的简单加密(DES+MD5)与复杂加密(自己想的)
来源:互联网 发布:vscode 函数参数提示 编辑:程序博客网 时间:2024/04/27 21:53
用户信息的加密
需要传递的参数:
用户信息user(可以将用户的信息以json的形式)(DES加密后):比如是一串字符串DESString时间戳(因为FES需要的密钥是16位,时间戳只有10位,那么再增加一个字符串(可自定义)):
MD5:这个是用DES加密过后的String,再次用MD5加密一次,只是为了防止请求的信息在中途被人截取串改
解密:
if ( MD5.md5(user).equals(md5)) {
String aaa = new DES().decrypt(user, time + "breakA");}
加密:
我就不写了,太简单了,就是根据解密反向的算一次就行!
PS:这个算是最简单的加密方式,我自己想出一种复杂一点的加密方式:用3层动态加密,分布式存储密码,并用热推计算,(尼玛感觉真心的高安全,都快连自己都找不到密码了),那我就简单的说说这个牛逼的加密思路:
1首先,我们在客户端拿到mac(TC)地址或者imei号(手机)(作用是与该用户绑定)
2拿到请求的时间sendTime(作用是于该小段时间绑定),作用为本次密码为5分钟内失效(时间可自定义)
3准备三台服务器
4开始做加密的过程:
4.1:首先用户输入帐号和密码之后,我们先拿到以下几个参数:1 name(帐号)2 pass(密码)
3 mac或者imei 4当前时间戳 5一个一位随机数
4.2:拿到用户和密码后进行MD5,得到16位的数字,取imei号的后8位+当前时间戳的后8位(因为前面两位表示年份意义不大就从后面截取)=混淆值(也叫密钥),然后用DES加密(MD5为需要加密的值,混淆值为密钥),得到一个String(比如说值是:abcdefjhijk123456)之后分为3份,分别放到3个参数中:A=一位随机数+abcdef,B=jhijkl123456,C=一位随机数+abcdefjhijk123456 然后将abc的值分别再次ras加密,再传送给3个服务器(这样做的目的有两点:1就算黑客截获了我一个请求,也没用,2 就算3个服务器其中一个密码丢失我也能根据另外两个密码计算出第3个密码),最后在发请求的时候我们对每台服务器都发送3次不同的(另外两次为假请求),(目的就算你截获我所有服务器的请求,也不知道我哪个请求里面的参数为真实参数)。
最后:这种加密算法基本可以百分之99的安全!
优点:
1不怕暴力碰撞,因为密码在三个服务器上
2不怕请求信息被截获,就算被拦截,我是向3哥服务器发送请求,
3就算三个请求都被拦截,我会同时向三个服务器每个都发3条请求(其中有两条假请求),另外用当前时间戳,可在服务器判断该请求与时间字段是否在30s内时间差,超过就视为无效,也就是每次动态生成的密码只有30s的有效期,在客户获取我的所有请求,然后去尝试18种可能时,以失效(当然其实服务器端可以判断其他6条假请求,一旦有假请求整个密码失效(或者是更好的处理方式))
4在数据库中存放MD5的密码,这样出了客户自己没有人知道他的密码,并且3个服务器还有一点好处就是,就算其中一个服务器挂了,可以依赖另外两个服务器的密码推算出第3个密码。
0 0
- 关于用户密码的简单加密(DES+MD5)与复杂加密(自己想的)
- C# .Net 的加密(DES加密解密,MD5,SHA1)
- 数据加密解密(涉及到md5加密和des的加密解密)
- 使用MD5加密注册用户密码的简单示例
- 关于 Des加密(Android与ios 与后台java服务器之间的加密解密)
- 关于 Des加密(Android与ios 与后台java服务器之间的加密解密)
- 关于 Des加密(Android与ios 与后台java服务器之间的加密解密)
- DES的加密与解密(可逆)
- 简单的MD5加密
- C# MD5加密用户密码的类
- C#封装的DES与MD5加密示例代码
- 【iOS】关于DES的加密
- MD5加密与DES加密解密
- java的DES加密、解密和MD5加密
- C#使用MD5加密,DES加密解密的一个类
- java MD5加密算法:(给用户密码MD5加密保存)
- Java 简单的MD5加密
- 简单的MD5加密方法
- 八、前后台和计划任务
- makefile @ 符号作用 http://www.cnblogs.com/MyEyes/archive/2012/01/12/2320505.html
- 网站关键词排名顺序能否影响排名?
- jwplayer做点播
- 基本修饰符
- 关于用户密码的简单加密(DES+MD5)与复杂加密(自己想的)
- iOS 动画效果
- c++:批量把数据写入同一文件夹下不同文件
- 发送队列的默认队列策略 (linux网络子系统学习 第十一节 )
- 设计模式-适配器模式
- iOS8定位
- 绕过XSS过滤规则 : Web渗透测试高级XSS教程
- Android Studio优化配置
- getResourceAsStream的用法