我正在为我的单页应用程序创建新的登录系统。该系统将要求管理员为用户创建帐户。一旦他们为用户设置了帐户,我将向他们发送一封电子邮件,他们必须在其中输入他们的信息,例如安全问题和密码。所以我做了一些研究并查看了我们现有的系统。有hash
与 一起使用的功能salt
。我读了几篇文章,关于哈希易受攻击有很多争论。我还看到,在这种情况下,散列密码和盐一样被存储。它们位于不同的列中。这是将盐存储在数据库中的好习惯吗?还有更好的方法将密码存储在数据库中吗?这是我发现的逻辑示例:
<cfset password = trim(FORM.password)>
<cfset salt = randomSalt()> //This is function that generates random salt.
<cfset totPW = password & salt>
<cfset hashedPW = hash(totPW,"SHA-256")>
我目前正在使用 Cold Fusion 2016。我不确定是否有更好的方法来加密 CF 中的密码。如果有人可以提供一些有用的资源或示例,请告诉我。谢谢。