关于密码和数据库安全,意识到用户访问用户的唯一方法是询问是否有人访问数据库,他不需要用户密码,他可以对数据库本身进行更改。
关于加密,我发现在PHP手册上,河豚是最明显的,但我找到了一个在线解密器在谷歌的第一个结果搜索,加上,黑客可能会知道如何解密任何密码,他已经得到数据库密码本身。
你对此有何想法?密码加密是否真的需要,而且安全?先谢谢你。数据库密码安全,用php加密确实有区别?
回答
有人可以使用SQL注入来获取用户的密码。在这种情况下,他可能无法访问任何表之外的用户表,所以
是否真的使性差异,如果用户的密码散列或加密
肯定。除此之外,如果您有版主,开发人员以及您在查看此表格,则作为用户,如果您正在查看散列,而不是实际的密码,我会感觉更舒适,因为我可以在其他站点。总的来说,它为用户提供了更多的安全性和舒适性,所以真正的问题是,为什么不呢?
但是用这种方式思考,会指向我们不只是加密密码,而是很多用户变量,他不希望我们看到,也许,任何真正想要的人,并且使用db's都可以看到它们(通过解密)。而关于sql注入,这只是使用残酷的力量难以发现密码,但无论如何,它可以完成,不是吗? – sagits 2013-04-10 16:26:05
@sagits你是对的,你的用户拥有一定程度的信任,但密码通常比姓名,地址和电子邮件等信息更微妙。您需要保护可能为其银行帐户,电子邮件和Facebook使用相同密码的无知用户。 SQL注入与破解密码不同。你应该阅读它,因为它对安全性非常重要。 – Samuel 2013-04-10 16:34:40
谢谢你,塞缪尔。我会详细阅读。 – sagits 2013-04-10 16:41:22
关于加密,我找到PHP手册是河豚是最 表示,但香港专业教育学院发现了第一个结果搜索 一个在线解密在谷歌
最好的解决办法就是散列你密码,而不是加密它们。许多人犯加密与哈希混淆的错误(反之亦然)。加密文本可以解密,而散列是单向的。即一旦你散列了一些东西,你就不能“去散列”它。你在找什么是Bcrypt,这是一个散列算法,它是根据的Blowfish密码。
在关于攻击者获得对您的密码访问哈希:
除了包含盐,以防止彩虹表攻击, bcrypt是一种自适应功能:随着时间的推移,迭代次数可以 增加到使它变得更慢,所以即使在增加计算能力的情况下它仍然能够抵抗强力的搜索攻击。
关于Bcrypt的好处是速度慢,这意味着尝试和破解Bcrypt哈希(取决于盐的迭代和随机性)相对昂贵。
如果攻击者获得用户的密码,他有他的密码。
如果攻击者获得用户密码的散列,他只有密码散列而不是密码本身。
现在想起人们的懒惰:有可能检索到的密码不是唯一的这个帐户,但也适用于其他帐户(电子邮件,Twitter,Facebook等)。这实际上一直在发生。
如果您只是使用强密码散列方案(如bcrypt,scrypt或PBKDF2)存储用户密码的散列,黑客就需要大量资源(时间或处理能力)来猜测或蛮力密码。
顺便说一下:哈希函数是不可逆的。这些散列颠倒站点只是巨大的查找表,它返回一个密码,用于已知的密码+散列对。
我明白,哈希会使密码本身更安全,但不是数据库。我正在阅读有关密码安全的信息,并且我想问问用户,什么会更安全。 为每个用户使用单盐,并存储在用户表中(是否有更好的方法来存储?)或为每个人使用盐?
我想对已经给出的良好答案做一些补充。
首先,您提到的Blowfish确实是一种加密算法,可以解密。但不要混淆Blowfish与BCrypt这是一个基于Blowfish的哈希算法。
二,你散列攻击者的密码,可以读你的数据库。获取读取访问比写入访问要容易得多,一种常用的技术是SQL注入。您可以在demo中自己尝试一下,点击→箭头以填写准备好的输入。
- 因此,虽然攻击者可以读取数据库,但这并不意味着他可以写入数据库。因为他只知道密码的散列,所以他不能在登录表单中输入原始密码。
- 如果攻击者也有写入权限,您不能阻止他使用您的帐户,但他仍然不知道原始密码,并且无法在其他网站上尝试。
- 1. 使用加密函数在mysql数据库中加密安全密码
- 2. PHP安全登录 - 密码加密
- 3. php数据库myisam密码加密
- 4. 如何在mysql数据库中存储盐以实现安全密码加密?
- 5. VB.Net安全密码到数据库?
- 6. 密码加密/解密弹簧安全
- 7. Android安全 - 加密数据
- 8. iphone安全数据加密
- 9. 密码加密使用opencart数据库进行全网登录
- 10. PHP连接到mysql安全地使用加密密码
- 11. 在PHP中使用crypt()加密密码的安全性如何?
- 12. 弹簧安全性_密码加密
- 13. 如何安全地加密密码
- 14. 密码安全
- 15. 数据库加密和数据库解密使用C#代码
- 16. 安全/加密QR码
- 17. Prestashop - 如何加密数据库密码?
- 18. 加密SQLite数据库中的密码?
- 19. 在数据库中加密密码
- 20. 加密数据库上的密码
- 21. Azure SQL数据库透明数据加密(TDE)+总是加密安全吗?
- 22. 加密/安全数据库连接字符串在php
- 23. 识别数据库中的密码加密
- 24. 数据库加密 - php/mysql
- 25. Openssl加密库中是否有函数来安全地输入密码?
- 26. Authlogic密码有多安全?
- 27. dubts有关在数据库密码的安全
- 28. 从用户密码安全生成加密密钥?
- 29. 数据库级别的数据加密
- 30. PHP:这个密码加密是否安全?
这就是*哈希*为 – 2013-04-10 16:21:47
那么是什么?人们不会闯入数据库来给他们自己的超级用户权限,所以他们可以捅你的论坛或任何其他。他们闯入DB获取凭证,因为大多数人倾向于在多个站点上重复使用相同的密码。您的网站可能“很小”,但您的某些用户在其他网站上使用相同的用户名/密码的可能性非常大,比如他们的银行......您所能做的最糟糕的事情是对安全性有着傲慢的态度。 – 2013-04-10 16:24:03
因此,只是导致我的网站很小,它不需要安全吗?我明白你的答案,感谢你的时间,但我问问原因,如果用户已经进入了数据库本身,他可以获得通过,散列或加密比他可以用残酷的力量解密它(也许他可以使用就像他以前用来获取盐的通行证一样,即使它是每个用户的盐)。这可能需要时间,但可以做到,不会吗? – sagits 2013-04-10 16:37:29