1
icanc 2013-12-08 22:51:40 +08:00 1
如果没有大量用户,谈不上碰撞。如果真的有人想碰撞,楼主考虑的应该是如何应付CC攻击了。
|
2
ejin 2013-12-08 23:15:37 +08:00
什么叫md5碰撞率太高了啊 你不会把它伪装成sha1么,伪装成其他样子的么,md5是16位你就一定要坚持16位?只要别人没办法拿到你的源码,谁知道你的是什么算法,或者根本就是你自己的算法?
明明是sha1你可以伪装成md5,md5也可以伪装成sha1,这又不是什么难的,非要告诉别人你是什么什么什么算法,通过什么什么什么来计算出这个值,你这不是自己找不自在么 要想碰撞,那也要知道你是什么算法才行啊 |
3
ejin 2013-12-08 23:17:41 +08:00 1
哦哦 你是怕用户多了碰撞?那你加入几位随机码进去,要想碰撞没有个几亿年怕是不可能了哦,什么?几亿年后还有人上你……哦不是,是上你的网站?我觉得你想太多了
|
4
dongbeta 2013-12-08 23:20:47 +08:00 1
楼主想多了
|
5
Livid MOD 用户数量到几万这个量级的时候,SHA1 也是会碰撞的。
|
6
bigcoon 2013-12-08 23:49:13 +08:00
没有用户id么?
|
7
txlty 2013-12-08 23:52:57 +08:00
没太看明白。我在用户验证环节 不用session。
把user & md5('pass'.'xxx') & 登陆时的随机码 连成一个字段,用康盛的authcode函数加密一下,存进客户端cookie [usr]字段。这个usr就包含用户登录所需的全部信息。 用户名、md5密文、随机码 在登录成功后全部缓进memcache。以后直接比对缓存即可。 这样能破不? |
8
9hills 2013-12-09 00:00:02 +08:00 1
|
9
raincious OP |
11
raincious OP |
12
9hills 2013-12-09 00:07:45 +08:00 1
|
13
raincious OP @9hills 嗯,倒是。但是这牵扯到另一个问题:我懒。不想未来要给框架维护那么多服务器。
而且我现在只是在设计接口,所以目前这套东西最后的最后只是丢出一个合法的SessionKey给用框架的家伙注册的函数,剩下的他自己解决了(想要读数据库什么的随便嗯)。我自己保证架构什么的越简单越好。 反正就我自己的测试这样的设计。。。还算凑合吧,只要这样注册下,未来调用很方便嗯。。。 https://gist.github.com/raincious/7859598 |
14
9hills 2013-12-09 00:15:23 +08:00 1
@raincious cookie可以参考下Tornado的Secure Cookie,只要server那段的secure key不泄漏,cookie是无法伪造的
但是失窃么,所以用全程HTTPS吧,这样只能在client端窃取(client端被攻陷神仙也防不住) |
17
raincious OP @crny520 是啊,用到了5.3的匿名函数:http://www.php.net/manual/en/functions.anonymous.php
|
18
est 2013-12-09 11:11:01 +08:00
担心md5碰撞就是地命海心。
王小云的那个思路做出来的结果也只能是2个不同长度的字符串得到相同md5。还飞jb长。还是non-ascii 不可打印的字符为主。 如果散列有那么容易碰撞,那就不叫散列了。那个叫车祸现场列。 |