㈠ 如何安全的存储用户密码
大多数的web开发者都会遇到设计用户账号系统的需求。账号系统最重要的一个方面就是如何保护用户的密码。一些大公司的用户数据库泄露事件也时有发生,所以我们必须采取一些措施来保护用户的密码,即使网站被攻破的情况下也不会造成较大的危害。如果你还在存储用户密码的MD5,那可真的有点弱了。
保护密码最好的的方式就是使用带盐的密码hash(salted password hashing).对密码进行hash操作是一件很简单的事情,但是很多人都犯了错。接下来我希望可以详细的阐述如何恰当的对密码进行hash,以及为什么要这样做。
重要提醒
如果你打算自己写一段代码来进行密码hash,那么赶紧停下吧。这样太容易犯错了。这个提醒适用于每一个人,不要自己写密码的hash算法 !关于保存密码的问题已经有了成熟的方案,那就是使用phpass或者本文提供的源码。
什么是hash
hash("hello") =
hash("hbllo") =
hash("waltz") =
Hash算法是一种单向的函数。它可以把任意数量的数据转换成固定长度的“指纹”,这个过程是不可逆的。而且只要输入发生改变,哪怕只有一个bit,输出的hash值也会有很大不同。这种特性恰好合适用来用来保存密码。因为我们希望使用一种不可逆的算法来加密保存的密码,同时又需要在用户登陆的时候验证密码是否正确。
在一个使用hash的账号系统中,用户注册和认证的大致流程如下:
1, 用户创建自己的账号
2, 用户密码经过hash操作之后存储在数据库中。没有任何明文的密码存储在服务器的硬盘上。
3, 用户登陆的时候,将用户输入的密码进行hash操作后与数据库里保存的密码hash值进行对比。
4, 如果hash值完全一样,则认为用户输入的密码是正确的。否则就认为用户输入了无效的密码。
5, 每次用户尝试登陆的时候就重复步骤3和步骤4。
在步骤4的时候不要告诉用户是账号还是密码错了。只需要显示一个通用的提示,比如账号或密码不正确就可以了。这样可以防止攻击者枚举有效的用户名。
还需要注意的是用来保护密码的hash函数跟数据结构课上见过的hash函数不完全一样。比如实现hash表的hash函数设计的目的是快速,但是不够安全。只有加密hash函数(cryptographic hash functions)可以用来进行密码的hash。这样的函数有SHA256, SHA512, RipeMD, WHIRLPOOL等。
一个常见的观念就是密码经过hash之后存储就安全了。这显然是不正确的。有很多方式可以快速的从hash恢复明文的密码。还记得那些md5破解网站吧,只需要提交一个hash,不到一秒钟就能知道结果。显然,单纯的对密码进行hash还是远远达不到我们的安全需求...
以上是下面链接文章里的片段
具体请查看这个链接里的文章:
http://www.freebuf.com/articles/web/28527.html
满意望采纳~
㈡ 如何备份数据库主密钥
1.在 SQL Server Management Studio 中,连接至包含要备份的数据库主密钥的数据库。
2.选择将用于在备份媒体上加密数据库主密钥的密码。请勿使用与加密数据库中的该密钥时使用的密码相同的密码。
3.获得一个用于存储密钥备份副本的可移动备份媒体。
4.确定将在其下创建密钥备份的 NTFS 目录。在此目录下将创建在下一步中指定的文件。该目录应利用高限制级 ACL 进行保护。
5.在查询编辑器中,执行以下 Transact-SQL 命令:BACKUP MASTER KEY TO FILE = '<complete path and filename>' ENCRYPTION BY PASSWORD = '<password>' ; GO
6.将文件复制到备份媒体上并验证该副本是否完好。
7.将备份异地存储在一个安全位置。
安全说明:
通常最好是创建备份的多个副本,并在本地存储其中一个副本。本地副本可以是您备份数据库主密钥时创建的文件。
㈢ 手机文件夹安全存储密码不记得了怎么办
一般忘记密码可以在解锁密码页面上都会有“忘记密码提示”,选择后会有输入手机号码获得验证码的提示,按照步骤操作最后重新输入新的密码保存就可以了
㈣ 小黄鸭密码箱原始密码
000。
小黄鸭密码箱原始密码为000,很多厂商的密码箱原始密码都为000。
密码箱是一个安全库,你可以使用高安全性的AES加密存储凭据(用户名和密码组合)。在首次使用它将提示你为一个主密码,然后将用于解锁每次执行应用程序的凭据数据库。