相关疑难解决方法(0)

"双重哈希"密码是否比仅仅哈希一次更安全?

在存储之前对密码进行两次哈希处理的安全性是否比仅仅哈希一次更安全?

我在说什么是这样做的:

$hashed_password = hash(hash($plaintext_password));
Run Code Online (Sandbox Code Playgroud)

而不仅仅是这个:

$hashed_password = hash($plaintext_password);
Run Code Online (Sandbox Code Playgroud)

如果它不太安全,你能提供一个很好的解释(或链接到一个)吗?

此外,使用的哈希函数是否有所作为?如果混合使用md5和sha1(例如)而不是重复相同的散列函数,它会有什么不同吗?

注1:当我说"双重哈希"时,我正在谈论两次哈希密码以试图使其更加模糊.我不是在谈论解决碰撞技术.

注2:我知道我需要添加一个随机盐来真正使其安全.问题是使用相同算法进行两次散列是否有助于或损害散列.

security passwords hash cryptography password-hash

287
推荐指数
5
解决办法
7万
查看次数

在数据库中存储密码的首选方法

在数据库中存储密码的首选方法/数据类型是什么(最好是SQL Server 2005).我在几个应用程序中一直使用的方法是首先使用.NET加密库,然后将它们作为二进制文件存储在数据库中(16).这是首选方法还是我应该使用不同的数据类型或分配比16更多的空间?

database sql-server security encryption passwords

76
推荐指数
5
解决办法
1万
查看次数

为什么纯文本密码不好,我怎么说服我的老板他的珍贵网站处于危险之中呢?

我一直认为将密码作为纯文本存储在数据库中(就像其他人在这里所说的那样)是一件非常糟糕的事情.

从历史上看,我们的大多数服务器端编码需求已经签约给一组程序员.它们以纯文本形式将密码存储在MySQL数据库中.

作为居民代码猴子(顺便说一句,第一个服务器端精明的猴子在这里工作,所以我继承了地球,可以这么说)我有这个胃的坑感觉这是我的屁股将在线上当这个纯文本废话被利用时.

我试图向我的老板解释一下非常糟糕的纯文本密码是什么,但我突然意识到:我不认为我真的知道为什么他们这么糟糕.除了将黑客的密码列表交给银盘外,还有更多内容吗?这听起来对我来说已经够糟了,但是在la-la land,我们的网站是"安全的"并且不受任何黑客攻击,这个论点似乎并没有削减它.我怎样才能说服(或吓唬)我的老板在他珍贵的网站上要求哈希?

相关:在数据库中加密/散列纯文本密码

passwords plaintext

42
推荐指数
6
解决办法
2万
查看次数

密码散列,盐和散列值的存储

假设您可以自由决定如何将散列密码存储在DBMS中.像这样的计划有明显的弱点吗?

要创建存储在DBMS中的哈希值,请执行以下操作:

  • 作为salt的一部分,DBMS服务器实例唯一的值,
  • 用户名作为盐的第二部分,
  • 并使用实际密码创建salt的串联,
  • 并使用SHA-256算法散列整个字符串,
  • 并将结果存储在DBMS中.

这意味着任何想要发生冲突的人都必须分别为每个用户名和每个DBMS服务器实例单独完成工作.我打算保持实际的哈希机制有点灵活,以允许使用仍在使用的新NIST标准哈希算法(SHA-3).

"DBMS服务器实例独有的值"不一定是秘密的 - 尽管它不会随便泄露.目的是确保如果有人在不同的DBMS服务器实例中使用相同的密码,则记录的哈希值会有所不同.同样,用户名也不是秘密 - 只需要密码.

首先使用密码以及用户名和"唯一值"第二个,或三个数据源的任何其他排列是否有任何优势?或者交错字符串怎么样?

我是否需要添加(并记录)随机盐值(每个密码)以及上述信息?(优点:用户可以重新使用密码,但仍然可能会在数据库中记录不同的哈希值.缺点:必须记录盐.我怀疑其优势远大于缺点.)

有很多相关的SO问题 - 这个列表不太可能是全面的:

我认为这些问题的答案支持我的算法(尽管如果你只是使用随机盐,那么'每个服务器的唯一值'和用户名组件就不那么重要了).

security encryption hash salt

38
推荐指数
4
解决办法
2万
查看次数

安全密码哈希

我需要在.Net WinForms应用程序中存储单个密码的哈希值.

什么是最安全的方法?

特别是:

  • 盐,HMAC,还是两者兼而有之?
  • 盐多少钱?
  • 多少次迭代?
  • 什么编码?(密码是纯ASCII)

我假设算法应该是SHA512或HMACSHA512.

.net security passwords hash

17
推荐指数
3
解决办法
7580
查看次数

如何加密密码以便以后将其保存在数据库或文本文件中?

我希望我的应用程序保存在数据库或文本文件中加密的密码.假设数据库或文本文件可以由任何人打开,我该怎么做?

重复

加密/散列数据库中的纯文本密码

不重复 我要求特定于.NET的代码

编辑:我保存密码供以后使用.我需要对其进行解码并使用它进行登录.它不一定非常安全,它只需要人眼不可读,并且难以用琐碎的脚本解码.

.net c# security

9
推荐指数
5
解决办法
6901
查看次数

如何在Perl脚本中加密或隐藏密码?

我正在使用Perl脚本,使用Expect通过telnet登录到远程机器(不要问,必须使用telnet).我还会根据需要执行p4登录操作,并使用expect来输入正确的密码.现在我只是从明文环境变量中读取密码,即export PASSWORD=password我知道这不是一个好的安全性.

为这些需要大量密码的脚本存储密码的最佳方法是什么?以某种方式在文本文件中加密?或者是其他东西?

请记住,我无法轻易更改现有系统,例如我无法真正安装SSH或类似的东西.

encryption passwords perl expect

9
推荐指数
3
解决办法
2万
查看次数

我应该存储密码的哈希值吗?

用户系统和密码:我正在查看MD5的内容,我想知道密码的正常/良好做法是什么.现在,我认为人们会加密密码并存储哈希值.如果是这样,密码检查如何工作?我只是输入密码再次通过加密过程然后用存储的密码检查哈希,对吗?

这个问题可能与上述内容相矛盾,但我的盐是否应该是随机生成的值?如果是的话,何时可能有用?

编辑:除了密码,在用户系统中,还应该加密哪些作为一种好的做法?他们加密用户名或其他任何东西吗?

第二编辑:什么是单向哈希?我的意思是,从技术上讲,我可以不对我的源代码进行反向工程吗?也许这是一个糟糕的问题,因为我对单向哈希知之甚少.

php encryption passwords

7
推荐指数
1
解决办法
548
查看次数

在存储到数据库之前加密密码?

我有一个密码通过php脚本user.php从我的iPhone应用程序传递到数据库.

变量$ pass由以下内容填充:

$pass = str_replace("'", "", $_REQUEST['pass']);
Run Code Online (Sandbox Code Playgroud)

如何在插入数据库之前对其进行加密?我已经阅读了一些关于不同技术的内容,但寻找管理它的最佳方法.

谢谢大家.

php mysql password-protection

6
推荐指数
2
解决办法
1万
查看次数

是否有内置函数来在.NET中散列密码?

在数据库中看到了这个问题加密/散列明文密码

我知道我不应该做md5("盐"+密码); 我在python中看到了一个解决方案的实现.

是否有一个.NET内置函数与params我可以使用而不是自己编写?

.net security passwords hash

5
推荐指数
1
解决办法
1233
查看次数

最好的通用消化功能?

在2009年编写一个普通的新应用程序时,在安全性和性能方面,最合理的摘要功能是什么?(当条件发生变化时,我怎样才能在将来确定这一点?)

类似 的问题 提出之前,答案已包括SHA1,SHA2,SHA-256,SHA-512,MD5,bCrypt和河豚.

我意识到,在很大程度上,任何一个都可以工作,如果智能地使用,但我宁愿不掷骰子并随机选择一个.谢谢.

security hash digest

2
推荐指数
1
解决办法
689
查看次数