前两天我打开邮箱一看。收到公司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. Android开发:getViewById返回null的原因定位

    近期在研究开发一些基于Android的App,遇到了一些问题.当中一个比較关键的是在Activity中的onCreate()方法中获取Button对象.代码大概例如以下: private Button ...

  2. less12 函数

    less .x(1) { x:11 } .x(2) { y:22 } .x(@x:1) when (default()) {z:@x} //default()表示一直为真 body{ backgrou ...

  3. Tomcat vs. Jetty vs. Undertow: Comparison of Spring Boot Embedded Servlet Containers

    原文地址:https://examples.javacodegeeks.com/enterprise-java/spring/tomcat-vs-jetty-vs-undertow-compariso ...

  4. Java调用Python遇到的一系列问题与解决方案

    首先,百度了几个方法 1.用jython里的一个jar包,jython.jar,里面封装了一个专门调用Python的类, 但是不知道为什么我用Java一调用就报错,因此放弃.   2.用runtime ...

  5. GPU Command Buffer

    For Developers‎ > ‎Design Documents‎ > ‎ GPU Command Buffer This are mostly just notes on the ...

  6. affe(8) solver 优化方法

    上文提到,到目前为止,caffe总共提供了六种优化方法: Stochastic Gradient Descent (type: "SGD"), AdaDelta (type: &q ...

  7. 洛谷P3402 【模板】可持久化并查集

    一定注意每一次都要是 $root[cur]=root[cur-1]$,不然进行合并时如果 $a,b$ 在同一集合中就会使 $root[cur]=0$. Code: #include <cstdi ...

  8. require(): open_basedir restriction in effect. File

    新安装的 lnmp 环境,将项目放上报 require(): open_basedir restriction in effect. File 的错误! 错误日志显示,访问脚本不在 open_base ...

  9. TP5 belongsTo 和 hasOne的区别

    hasOne和belongsTo这两种方法都可以应用在一对一关联上,但是他们也是有区别的: belongsTo: 从属关系:就是谁为主的问题 A:{id,name,sex} B:{id,name.A_ ...

  10. 用Python定时爬取网站最新资源

    记录一下. 写做个网站,爬了另一个网站的内容来做自己网站的内容. 把脚本挂到服务器,每隔一个小时去爬一次资源,然后保存到一个HTML文件里. 用flask做web对接,当有请求的时候就返回那个HTML ...