为什么我们须要复杂的password

前两天我打开邮箱一看。收到公司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*。

时间: 2024-11-08 22:34:26

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

MySQL 改动用户password及重置rootpassword

为数据库用户改动password是DBA比較常见的工作之中的一个.对于MySQL用户账户的password改动,有几种不同的方式.推荐的方式使用加密函数来改动password. 本文主要描写叙述了通过几种不同的方式来改动用户password以及mysql root账户password丢失(重置rootpassword)的处理方法. 1.password改动的几种方法 a.能够在创建用户的时候指定password.以及直接使用grant创建用户的时候指定password. 对于已经存在的用户直接使

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

明文保存password的程序在非常多方面easy造成password的泄漏.尽管用户输入的password一般时明文形式.可是应用程序必须保证password不是以明文形式存储的. 限制password泄漏危急的一个有效的方法是使用散列函数.它使得程序中能够间接的对用户输入的password和原来的password进行比較,而不须要保存明文或者对password进行解密后比較.这种方法使password泄漏的风险降到最低,同一时候没有引入其它缺点. [加密散列函数] 散列函数产生的值称为哈希值

联想教育应用使用说明(7.6版本号)——第4章 网络控制工具的使用

第4章网络控制工具的使用 第1章联想教育应用方案功能简单介绍http://blog.csdn.net/u013634961/article/details/39615525 第2章联想教育应用的首次部署http://blog.csdn.net/u013634961/article/details/39616325 第3章联想教育应用的日常维护与使用 http://blog.csdn.net/u013634961/article/details/39804509 第4章网络控制工具的使用 http

Redis学习笔记4-Redis配置具体解释

在Redis中直接启动redis-server服务时, 採用的是默认的配置文件.採用redis-server   xxx.conf 这种方式能够依照指定的配置文件来执行Redis服务. 依照本Redis学习笔记中Redis的依照方式依照后,Redis的配置文件是/etc/redis/6379.conf.以下是Redis2.8.9的配置文件各项的中文解释. #daemonize no 默认情况下, redis 不是在后台运行的.假设须要在后台运行,把该项的值更改为 yes daemonize ye

AccountManager教程

API阅读 此类提供所述用户接口到集中登记帐户.用户只需输入一次帐号password后.您将能够访问internet资源. 不同的在线服务用不同的方式来管理用户,所以account manager 型的账户提供了统一验证管理的方法.处理有效的账户的具体信息而且实现排序.比方Google,Facebook,Microsoft Exchange 各自有他们的验证方法. 非常多server支持一些验证算法,能够不须要发送用户password验证是否正确. AccountManager能够为应用生成to

VC_ADO连接SQLSERVER时连接字符串的模式

一.连接SQL SERVER的第一种连接字串: 是针对数据库身份验证模式为"SQL SERVER 和 windows"而言, 连接字串为: CString strConn; strConn = "Provider = SQLOLEDB.1;\ Persist Security Info = true;\ User ID = sa;\ Password=123456;\ Initial Catalog = tempdb;\ Data Source = 127.0.0.1&quo

简介Customer Care Accelerator (CCA)

几个月前,我们发表了CRM4.0的附属插件:Customer Care Accelerator (CCA). 自2005年以来CCA已经存在,我们这些新手在CRM的世界里, Customer Care Framework (CCF)最初是为解决大型呼叫中心的需求, 由微软开发的咨询服务.通过提供操作的改进如电话降低处理时间,改善first-call.解决利率和降低员工培训成本.通过它的各种版本号,CCF & CCA已经部署在BT等大型电信公司和西班牙电信,以及很多大银行和医疗机构. CCA实际上

scp命令的用法

用法: scp 命令 scp 能够在 2个 linux 主机间拷贝文件: 命令基本格式: scp [可选參数] file_source file_target ====== 从 本地 拷贝到 远程 拷贝文件: * 命令格式: scp local_file [email protected]_ip:remote_folder 或者 scp local_file [email protected]_ip:remote_file 或者 scp local_file remote_ip:remote_f

数据库SQL Server2012笔记(七)——java 程序操作sql server

1.crud(增删改查)介绍:create/retrieve/update/delete 2.JDBC介绍 1)JDBC(java database connectivity,java数据库连接) 2)是一种用于运行SQL语句的java  API,可为多种关系数据库提供统一訪问.由一组用Java语言编写的类和接口组成. 3)JDBC为工具/数据库开发者提供了一个标准的API,据此可构建更高级的工具和接口,是数据库开发者可以用纯Java API编写数据库应用程序. 4)JDBC也是闪避表明. 3.