欢迎来到 常识词典网 , 一个专业的常识知识学习网站!

[ Ctrl + D 键 ]收藏本站

您所在的位置:首页 > 教育学习 > 问答

问答

米聊是如何匹配好友的?

分类: 问答 常识词典 编辑 : 常识 发布 : 04-07

阅读 :411

米聊是如何匹配好友的?已知:扫描通讯录疑似:扫描通话记录,扫描g-il账户。问题:为何会匹配出完全不认识的用户?8 个答案

答案 1:

电话号码最多可变的数字10位,空间大概是10^10大小 (11位因为第1位都是1)。刚刚我写了个小pyt-on程序,非常简单,没有任何优化,而且pyt-on的效率本来就低。import -as-liba = ["%d"%i for i in range(5*10**6)]b = [-as-lib.md5(i).digest() for i in a]只用了12秒。换算过去,大约需要24000秒,也就是最多6个小时用这个5秒钟写出来的小脚本就可以把所有的电话号码的MD5都穷举出来。如果用个C语言或者用个好点的算法,可能时间会缩短到这个的1%,那也就是5分钟左右。说自己的工作人员也无法解密的同学,似乎是负责运营的,可能真的不了解技术细节,保存MD5是一个好的方案,但是对于这样小的空间来说,依然是无济于事的。

答案 2:

和工程师具体沟通之后,之前的回复不是特别准确,米聊在通讯录匹配过程中做了加密,所有的匹配都是通过加密数据进行的,而且还在继续改进方法,保证用户数据安全。

答案 3:

这个加密要学学Discuz,多加一个SALT就能解决很多问题。早期的各种网站、论坛都是使用MD5加密,但是在强大的彩虹(-as-)表面前,大部分不健壮的密码都会被穷举(在线穷举:.cmd5),后来Discuz改善了加密方式(百科:baike.baidu/view...)。如果小米真的只是单向MD5,这被-库之后就让人不淡定了。

答案 4:

其实用md5(私有盐+电话+私有盐+号码+私有盐) 这样要穷举出来非一日之功。

答案 5:

不需要解密,通信录穷举写入手机号,然后抓取返回

答案 6:

多注意android的应用,很多莫名其妙要读取通讯录权限,真的费解.

答案 7:

米聊里“你认识的XX”是检测用户的通讯录获得的。“XX可能有你的-”应该是对方通讯录里有你的-。PS:Android手机有google account sync,所以扫描g-il很简单吧

答案 8:

MD5 纯数字,显然很容易-出来

下一篇:请问对于着陆页面的优化,有什么系统的方-么? 下一篇 【方向键 ( → )下一篇】

上一篇:如何解决信息过载? 上一篇 【方向键 ( ← )上一篇】