前两天我打开邮箱一看。收到公司1331一封要求改动邮箱password的邮件。

为什么我们须要一个复杂的password呢?尽管我一直以来设置的password都非常复杂。可是公司这次要求改动password的邮件激发起我的好奇心,我想试试到底什么样的password才算安全?

常见password破解方式有两种。一种是字典式破解,一种是暴力破解。曾经电脑处理器速度较慢,内存也非常小,因此为了加快破解速度,黑客经常使用字典式破解。所谓字典式破解就是首先将经常使用的password、英文单词、中文拼音等存储在一个文本文件中,然后採用程序挨个測试。一旦通过则停止。常见的password有admin、1234、pass1234、password、888888、518518等等。

比如有人将银行卡password设为“888888”或者“999999”等所谓吉祥的数字组合。假设有人盗了你的银行卡,去ATM机測试几次。非常快就能将您银行卡里的金额所有转走。

第二种是暴力破解。

当字典式破解不成功后,黑客就会採用暴力破解。

所谓暴力破解就是将数字、字母等各种进行穷举。挨个測试。与字典式破解不同的是。暴力破解的数据量通常相当大。

以8位纯数字password为例,暴力破解的数据量达到1080,即一亿组password。而包括数字和字母组合的。暴力破解的数据量达到368。大约2.8万亿组password,而假设是区分大写和小写字母的password组合则达到628组。大约218万亿组password。

password每添加一位。password组合则曾几何级数增长。

近期在船上时间比較多。于是我用Ruby写了一小段程序。模拟了一下password破解所须要的时间。我測试程序所用的笔记本处理器是Intel Core i5 2.4GHz,内存为8G 1600MHz。为了模拟真实的使用环境,我的測试方法是首先随机生成一个纯数字的8位数password,然后利用程序模拟暴力破解password。经过几次測试,破解8位纯数字password的平均速度为2分半钟左右。

所以您的password假设是由等于或低于8位的纯数字组成,即便加上网络延时,破解时间也不会超过一个小时。

公司IT部门建议的password为:PaSs1234或p!ss1234或Pass!$#%。

对于暴力破解来说第一个,即PaSs1234则共同拥有2.8万亿组password。可是对于字典破解来说。能够尝试pass和1234的组合,如Pass1234、Pass1234、PaSs1234非常easy猜解。

第二个password。p!ss1234。尽管仅仅是将a换成感叹号,可是由于这个p。ss不属于单词,并且“。”一般会与“~!@#¥%……&*”等一起列为特殊符号。所以这样类似的password组合至少有408种,即256万种组合,配合字典破解所需时间不会超过10分钟。最后一种password,前面能够配合字典破解。后面4位用暴力破解。大约有2700万组。破解难度就非常大。并且也须要一定的技巧。

那么什么样的password才安全呢?当然是越长、越复杂越安全。

可是太复杂、太长的password不仅难记。用起来也不方便。对于上网经常使用的password。由于站点採用了限制登录次数以及使用验证码的方式避免了暴力破解式的攻击,所以您能够依据自己的情况,用数字、password、特殊字符等共同组成,如rNh#4915*。

为什么我们须要复杂的password的更多相关文章

  1. MySQL 改动用户password及重置rootpassword

    为数据库用户改动password是DBA比較常见的工作之中的一个.对于MySQL用户账户的password改动,有几种不同的方式.推荐的方式使用加密函数来改动password. 本文主要描写叙述了通过 ...

  2. ubuntu下一个rootusername入口mysql,如何查看username和password,如何改变rootpassword

    mysql -u root -p 按Enter键,提示时输入密码access denied......ues password YES/NO错误. 第一步: 然后,你需要输入/etc/mysql夹.然 ...

  3. 【Java编码准则】の #13使用散列函数保存password

    明文保存password的程序在非常多方面easy造成password的泄漏.尽管用户输入的password一般时明文形式.可是应用程序必须保证password不是以明文形式存储的. 限制passwo ...

  4. php生成随机password的几种方法

    文章来源:PHP开发学习门户 地址:http://www.phpthinking.com/archives/523 使用PHP开发应用程序,尤其是站点程序.经常须要生成随机password,如用户注冊 ...

  5. ArduinoYun教程之配置Arduino Yun环境

    ArduinoYun教程之配置Arduino Yun环境 配置Arduino Yun 不管你使用前面介绍的哪种方式连接Arduino Yun.如今都能够配置你的Arduino Yun了.首先须要的是使 ...

  6. Mac中使用svn进行项目管理

    Mac中使用svn进行项目管理,借鉴了http://blog.csdn.net/q199109106q/article/details/8655204 下面方案多人亲測可用 转载请注明出处:http: ...

  7. AccountManager使用教程

    API解读 这个类给用户提供了集中注冊账号的接口.用户仅仅要输入一次账户password后,就能够訪问internet资源. 不同的在线服务用不同的方式管理用户,所以account manager 为 ...

  8. 初识Mongodb之[CURD]-PHP版

    行动 在了实践之前,希望大家看一下上面的学习资源,了解一下基本操作. 数据连接初始账号password 账号:admin password:admin 首先我们建立一个文件:mongodb.php,设 ...

  9. iOS8互动的新通知

    iOS8一旦远程通知想必大家都很熟悉.不要做过多的描述在这里,直接推出iOS8交互式远程通知. 再看互动的通知电话,显示的形式                  如今来看一下详细实现方式 一.通过调用 ...

随机推荐

  1. POJ 3672 水题......

    5分钟写完 水水更开心 //By SiriusRen #include <cstdio> #include <iostream> #include <algorithm& ...

  2. window.location.href=*.html访问没反应问题

    window.location.href=*.html访问没反应问题 1.SpringMvc配置中:扫描controller.视图层配置路径是否正确 报doc根路径 <mapper>匹配错 ...

  3. mongodb 的查询深入剖析

           db.表名.find({goods_id:3});                     //查询出 goods_id 为 3 的数据        db.表名.find({cat_i ...

  4. Ubuntu(kali)开启mysql远程连接

    Linux 默认关闭mysql的远程连接,编辑 /etc/mysql/my.cnf 文件, 把里面的 bind-address = 127.0.0.1 改成 bind-address = 0.0.0. ...

  5. 操作系统——第五章 输入输出(I/O)管理

    这就是SDT表和DCT表

  6. 解决zabbix容器中文无法选择的问题

    1.查看zabbiz-web运行的容器 2.进入容器 3.安装语言包(针对centos7) yum install -y kde-l10n-chinese 4.更新gitbc包(因为镜像阉割了该包的部 ...

  7. 紫书 例题 10-10 UVa 10491(概率计算)

    公式很好推,表示被高中生物遗传概率计算虐过的人 这个公式简直不需要动脑 #include<cstdio> using namespace std; int main() { double ...

  8. PKU 3281 Dining 网络流 (抄模板)

    题意: 农夫约翰为他的牛准备了F种食物和D种饮料.每头牛都有各自喜欢的食物和饮料,而每种食物或饮料只能分配给一头牛.最多能有多少头牛可以同时得到各自喜欢的食物和饮料? 思路: 用 s -> 食物 ...

  9. 【习题 8-18 UVA - 1619】Feel Good

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 用单调队列求出l[i]和r[i] 分别表示i的左边最近的大于a[i]的数的位置以及i右边最近的大于a[i]的数的位置. 则l[i]+ ...

  10. ArcGIS api for javascript——显示一个信息窗口

    描述 这个示例展示了在用户单击地图时如何在InfoWindow中显示信息.信息窗口是一个dijit (Dojo widget).信息窗口能够包含文本,字符,图片和任何通过HTML表示的事物.这个例子在 ...