如何防范密码被破解

你会用什么样的算法来为你的用户保存密码?如果你还在用明码的话,那么一旦你的网站被hack了,那么你所有的用户口令都会被泄露了,这意味着,你的系统或是网站就此完蛋了。所以,我们需要通过一些不可逆的算法来保存用户的密码。比如:MD5, SHA1, SHA256, SHA512, SHA-3,等Hash算法。这些算法都是不可逆的。系统在验证用户的口令时,需要把Hash加密过后的口令与后面存放口令的数据库中的口令做比较,如果一致才算验证通过。

但你觉得这些算法好吗?我说的是:MD5, SHA1, SHA256, SHA512, SHA-3。如果你使用的是MD5算法来加密你的口令,如果你的口令长度只有小写字母再加上数字,假设口令的长度是6位,那么在目前一台比较新一点的PC机上,穷举所有的口令只需要40秒钟。而据我们了解,几乎有90%以上的用户只用小写字母和数字来组织其口令。对于6位长度的密码只需要最多40秒就可以破解了,这可能会吓到你。

如果你愿意花2000美金和一周的时间来构建一个CUDA,那么,你可以在你组建的这个集群中使用进行密码穷举运算,其速度是,1秒钟可以计算7亿个口令。对于目前实际当中使用的比较复杂的口令,其破解率也可以高达每秒一个。当然,这里说的算法是MD5,SHA之类的算法。

那么,对于这样的一种情况来说,我们怎么办?我们还是有办法的。

我们知道MD5,SHA的算法速度太快了。所以,我们需要一个“慢一点”的加密算法。呵呵。bcrypt是这样的一个算法,因为它很慢,对于计算机来说,其慢得有点BT了,但却慢得刚刚好!对于验证用户口令来说是不慢的,对于穷举用户口令来说,其会让那些计算机变得如同蜗牛一样。

因为bcrypt采用了一系列各种不同的Blowfish加密算法,并引入了一个work factor,这个工作因子可以让你决定这个算法的代价有多大。因为这些,这个算法不会因为计算机CPU处理速度变快了,而导致算法的时间会缩短了。因为,你可以增加work factor来把其性能降下来。呵呵。

那么,bcrypt到底有多慢?如果和MD5一起来比较的话,如果使用值为12的work factor的话,如果加密“cool”的话,bcrypt需要0.3秒,而MD5只需要一微秒(百万分之一秒)。也就是说,前面我们说的那个只需要40秒就可以穷举完所有的可能的MD5编码的口令的算法,在使用bcrypt下,需要12年。

这就是bcrypt给你带来的选择,你可以一个安全的口令和一个快速的加密算法,或是一个不怎么安全的口令和一个性能不好的加密算法

(转载本站文章请注明作者和出处 酷 壳 – CoolShell.cn ,请勿用于任何商业用途)

时间: 2024-10-24 07:47:39

如何防范密码被破解的相关文章

动网论坛密码暴力破解程序代码

我们通常这么写 using (SqlDataReader drm = sqlComm.ExecuteReader()) { drm.Read();//以下把数据库中读出的Image流在图片框中显示出来. MemoryStream ms = new MemoryStream((byte[])drm["Logo"]); Image img = Image.FromStream(ms); this.pictureBox1.Image = img; } 我的写数据 private void b

如何取消Word文档保护密码(密码的破解方法)

Word-“取消文档保护”密码的破解方法 方法一(简单有效): 启动word 文档,新建一个空白文档,执行“插入文件” 命令,打开“插入文件”对话框,定位到需要解除保护的文档所在的文件夹,选中该文档,单击“插入”按钮,将加密保护的文档插入到新文档中,文档保护会被自动撤销. 方法二: 打开文档后,将其另存为XML 文件,然后用UltraEdit(或者EditPlus,下载华军里搜索一下就行了)这个编辑软件打开刚刚存储的XLM 文件,查找 ,这个“******" 是可变的.只需要找到这段文字,然后删

国外hash(MD5、NTLM、LM、SHA)密码在线破解网站

国外hash(MD5.NTLM.LM.SHA)密码在线破解网站 这是国外的hash密码在线破解网站列表,支持多种类型的hash密码,目前可查询破解的hash包括:MD5.NTLM.LM.SHA1.SHA 256-512.MySQL.WPA-PSK . MD5MD5Decrypter(uk)Plain-TextCrackfoo -NNCHashcrackGdataMD5thisMD5crackNoisetteJoomlaaaIgrkioMD5decrypterShell-StormNetMD5cr

游戏锐评:关注手游安全 如何防范手游破解?

数据显示,2015年,移动游戏将占全球游戏行业规模的1/3,由于手游的便捷性和充分利用用户碎片化时间的优势,移动游戏在短短几年内占据消费者游戏支出的半壁江山,未来市场容量不难预估.然而手游安全问题引人担忧,比如破解手游不仅窃取开发者的劳动果实,严重影响开发者利益,同时极大程度影响用户体验,导致产品口碑恶劣,影响品牌的发展,手游如何防止破解成为越来越多开发商的心声. 关注手游安全 业界齐齐"献身" 移动行业的安全问题阻碍了移动互联网的发展,也导致手游安全越来越受到广泛关注.游戏产业作为网

centos7之防止root密码被破解

1.编辑文件/etc/grub.d/00_header 在末尾添加如下几行: cat<<EOF set superusers="admin" password admin 123456 EOF 如下图所示: 2.更新grub配置后并重启 #grub-mkconfig -o /boot/grub2/grub.cfg #reboot 3.当你重启过后想输入e破解root密码时,就必须输入上方的用户名admin和密码123456 才能进入破解root密码界面,如下图所示: 注意:

MySQL数据库root密码丢失破解方法

MySQL密码丢失破解方法 第1章 单实例破解方法 1.1 停止mysql服务 [[email protected] ~]# /etc/init.d/mysqld stop Shutting down MySQL. SUCCESS! 1.2 重新启动mysql启动 直接使用mysqld_safe命令启动,并添加参数--skip-grant-tables,跳过权限认证表 [[email protected] ~]# mysqld_safe --skip-grant-tables & [1] 598

MySQL登陆关闭、密码修改破解

################################################################################## 启动关闭和登陆 ################################################################################## 1单实例 mysqld_safe --user=mysql &  #启动服务 mysqladmin -uroot -pwsyht shutdown  #

通过BurpSuite和sqlmap配合对dvwa进行sql注入测试和用户名密码暴力破解

0x1:工具和环境介绍 dvwa:渗透测试环境 BurpSuite:强大的WEB安全测试工具 sqlmap:强大的sql注入工具 以上工具和环境都在kali linux上安装和配置. 0x2:步骤说明 配置Burp Suite和浏览器. 这一步比较简单,主要是用来抓取用来sql注入的信息. 在Burp中设置proxy代理:127.0.0.1:8080,配置浏览器使用代理,这样浏览器的request信息就可以被Burp抓取了. 抓取登录信息 在Burp的Proxy界面可以抓取到浏览器访问的信息,如

干货!linux密码的破解与保护

找回root口令: 遇到密码丢失的情况,如果只是普通用户的密码丢失,那么可以让管理员重新设定密码.但是如果管理员用户的密码丢失,那该如何解决? 在 Linux环境中root 密码忘记还是可以救回来的!只要能够进入并且挂载 / , 然后重新设定一下root的密码,就救回来啦!这是因为开机流程中,若强制进入runlevel 1 时, 默认是不需要密码即可取得一个 root 的 shell 来救援的.详细过程如下: 1. 重新启动! 2. 在开机按任意键进入 grub 选单 根据提示,键入a 进入以下