我看了很多小伙伴的回答都说的还不错,但是很多都想当然的说的,我来说说真实案例,相信大家看了之后,对这一大类知识都有很全面的了解。
先科普一下QQ密码为什么会被泄露相关知识。只要是软件和网站就会存在漏洞,当这个漏洞被发现的时候相关公司就会紧急修复,但是有时候这个漏洞没有被发现或者只是个别的黑客发现没有公布出来,这个时候漏洞就叫0day漏洞。还有就是某些漏洞是没办法修复的,比如三次握手时候容易被抓取密码,所以腾讯有时候也没办法避免有漏洞,所以也曾被脱裤。
大概是13年左右时候,腾讯曾遭到黑客攻击,当然后面被紧急修复了。但是在这过程中大约有三亿QQ账号和密码被脱裤(脱裤是只黑客从窃取公司数据库相关信息),至此在各大黑客论坛网站都流传着一个3亿QQ数据库的文TXT文档,这个文档大约占2G内存,里面存在着3亿qq和对应的明文密码。这个是真实的,我有一个朋友也曾下载下来验证证明是真实的。
以这个文件为例,查看最有效的方案有两个。
1、txt文件切割,用txt文件切割器把这几G文件切割成100kb/50kb文件,因为单独一个几G的TXT文件你用电脑肯定打不开的,一定会卡死。所以切割成几十份几百份才能进行查看,当分割成几百份之后我们可以建立一个本地数据库,道理很简单,在自己电脑上新建一个文件夹,把这些切割好的txt文档归纳到这个文件夹,再用txt搜索软件**对这个文件夹进行搜索,比如搜索某个QQ,他就会出现相对应的QQ密码,这样子搭好了本地数据库并对里面的密码进行了查看。
2、存数据库,挂到mysql上。挂到mysql上之后我们就可以直接对数据库进行查看,当然也就可以检索某个数值了,甚至你还可以就行分类,比如1开头的QQ分类,比如对6/78位数的QQ进行分类,分类的原因就是便于管理,甚至便于做坏事儿,比如6位数的qq人那大都是很久之前的大老板了,再针对性的进行***,对吧,当然现在腾讯已经修复这个漏洞,你的密码也强制性换了,所以也几乎不存在因为这个原因你再被盗号的风险了。
对不起,太强的求生欲只能叙述成这样,本来可以更加简洁明了的解释,但我怕犯了忌讳。不单单QQ曾被脱库,流传于世最出名的是QQ群关系这个数据库,有了它之后,人肉就方便多了,只要通过搜索一个QQ就能查到这个人的同学群公司群兴趣群等等,以此为媒介跳板,能查到大片大片的用户。还有网易的、某某酒店的数据库非常多,因为确实是没有绝对安全的数据库,也不能怪这些个公司。
在刚才写完这篇回答之后,我又再去百度搜索相关裤子时候,没想到轻松地就搜到了,我已举报。请条友们不要去下载,没有意义,说不定已经被挂马了,当心中毒。了解网络安全知识是为了更好的保护好自己,保护未来的生活中信息不被窃取,请条友们一定要珍重。
如果你学过信息理论,那么根据信息熵值理论,对于无序的信息,任何查找算法都不可能比顺序查找快.
所谓顺序查找算法,就是挨个逐条比较,直到找到为止.
所以如果你只是查找一次,那么就只有一个方法,挨个逐条比较。其他的所有方法都是扯淡. 这个早就有数学家作了详细的分析研究,那些连基本算法常识都没的人,就别扯淡了. 无序信息,除了顺序查找,没有更快的算法,想提高速度,只能想法提高算力(更块的CPU,分布式计算等等)
但是,如果你想制作一个查找的系统,最好的办法就是对原始数据进行预处理,使原始数据形成结构化的有序数据。当数据有序化后,查找的效率就能大大的提高了,这个过程叫做索引.
一个最简单的方法就是先把QQ号数据做一次排序,形成一个新按照大小顺序排列的新文本.
针对于大小顺序排列的数据,有二分法和插入法两种可以提高速度得查找算法. 详细实现请去网上查找.
其次,更有效的方法是把无序的原始数据,通过算法形成结构化的树,然后再通过各种树的遍历莱进行查找.
常用的有二叉树查找,平衡树查找,红黑树查找等等.
其中红黑树是综合新能最好,应用最广泛的查找算法. 大家常见的数据库中的查找算法,系统文件查找,一般都是红黑树算法.
上大学的时候,计算机专业有一门课叫算法与数据结构. 随意请大家一定记住,算法和数据结构是密不可分的.