如何安全存储秘密?

一、我是新手我怕谁 新手程序猿通常会直接存储明文密码在数据库中,好一点的会使用MD5来加密密码后存储md5(password),再好一点的会sha1加密密码后存储sha1(password)。将常用的组合哈希后存入数据库,用来爆库,这个就是所谓的彩虹表。 二、加盐salted 在密码中加入随机数字或字符,然后再进行哈希,看起来叼了很多,但是实际上对于现在计算机来说,即使简单的使用了盐和哈希的加密,短密码仍然会在非常短的情况下就会被破解出来。 三、美国标准 美国政府的标准,已经用于政府和军方的系统。PBKDF2加密算法,全程是Password-Based Key Derivation Function。 PBKDF2加密算法就是牺牲了时间来换取安全,一个明文的密码+随机的盐,然后哈希散列加密后存储起来,这是我们前面说的(二、加盐salted)。把这个过程重复100次,得到的结果存储起来。 请注意,尽管我们说牺牲了时间,又说到了重复100次,那也是很快的,因为我们的普通服务器单次的运算都是在毫秒级。 四、scrypt scrypt是由著名的FreeBSD黑客 Colin Percival为他的备份服务 Tarsnap开发的。scrypt不仅计算所需时间长,而且占用的内存也多,使得并行计算多个摘要异常困难,因此利用彩虹表进行暴力攻击更加困难。scrypt没有在生产环境中大规模应用,并且缺乏仔细的审察和广泛的函数库支持。但是,scrypt在算法层面只要没有破绽,它的安全性应该高于PBKDF2。 五、请使用bcrypt!请使用bcrypt!请使用bcrypt! bcrypt是跨平台的、专门为密码存储而设计的算法,bcrypt所接受的密码长度必须是8至56个字符,并将在内部被转化为448位的密钥。基于Blowfish加密算法变形而来。 bcrypt在默认情况下,在删除数据之前将使用随机数据三次覆盖原始输入文件,以阻挠可能会获得数据的人恢复数据的尝试。如果您不想使用此功能,可设定禁用此功能   bcrypt最大的好处是有一个参数,可用于调整计算强度,而且该参数是包括在输出的摘要中的。随着计算能力的提高,应该可以逐步增大这个参数,增大这个参数后并不会影响原来的用户。   bcrypt经过了很多安全专家的仔细分析,使用在以安全著称的OpenBSD中,一般认为它比PBKDF2更能承受随着计算能力加强而带来的风险。

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2016-06-27

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏landv

杨格门锁 YGSLockSDK V3.3酒管软件接口_99v

1039
来自专栏zhangdd.com

zabbix监控交换机出图断断续续问题解决

Zabbix通过snmp监控交换机流量时,之前经常出现出图很不稳定的情况。我先对zabbix以及snmp是怎么来监控流量的做个简单的说明:

724
来自专栏FreeBuf

逆向工厂(一):从hello world开始

* 本文原创作者:追影人,本文属FreeBuf原创奖励计划,未经许可禁止转载 前言 从本篇起,逆向工厂带大家从程序起源讲起,领略计算机程序逆向技术,了解程序的运...

2078
来自专栏landv

杨格门锁 YGSLockSDK V3.3酒管软件接口_99v

2177
来自专栏喵了个咪的博客空间

1.开发规范-- 常用的版本控制

#常用的版本控制# ##前言## 这里版本控制是经过笔者在项目中实践总结得出的,有比较广的适用范围, 当然也要根据不同的业务有取舍应为笔者水平有限,其中有不足的...

35910
来自专栏轻扬小栈

string类用起来还是比较爽的

1055
来自专栏FreeBuf

Flexera FlexNet Publisher中基于栈的缓冲区溢出漏洞分析

近日,安全人员在Flexera FlexNet Publisher(License Manager)中发现了一个基于栈的缓冲区溢出漏洞(CVE编号:CVE-20...

1837
来自专栏数据之美

玩转 SHELL 脚本之:Shell 命令 Buffer 知多少?

1、问题: 下午有同学问了这么一个问题: tail -n +$(tail -n1 /root/tmp/n) -F /root/tmp/ip.txt 2>...

1806
来自专栏生信技能树

【直播】我的基因组61:scalpel软件找indel

那么现在正式的开始第61讲: 其实这次的call variation的软件,不仅仅是找到SNV,也顺便找到了indel,只是可能不太准确。一般业界的公认标准是 ...

35210
来自专栏大数据和云计算技术

算法系列 图数据结构探索(无向图搜索)

算法是基础,小蓝同学准备些总结一系列算法分享给大家,这是第10篇《无向图搜索》,非常赞!希望对大家有帮助,大家会喜欢!

814

扫描关注云+社区