我在ASP.Net Web应用程序中的登录功能我计划采用更好的安全方式,因此我搜索了很多内容,最后我找到了:CrackStation.net。这真是太神奇了......问题是他们没有提到如何在数据库中存储盐和哈希密码。这是Crack Station上的代码。我还有一个DotNetFiddle Snippet您可以在浏览器中运行。
我想知道如何在数据库中存储密码(slat和hash都连接并保存在一列中)或(每个在不同的列中,例如salt是salt列,hash是hash列)...
请逐步解释密码salting和散列处理,以便保存在数据库中并从数据库中检索并进行变换...
盐和哈希值是否相同?
我们什么时候生成盐(随机盐)?为什么我们在sql数据库中的单独列中保存salt?在我们需要使用的数据库列中保存了盐?
请明确提及。 (任何源代码示例。)
谢谢。
答案 0 :(得分:1)
我不确定你想要什么。
只是为了向您展示一个回答这个问题的例子
;WITH cte
AS (SELECT 1 AS rn
UNION ALL
SELECT rn + 1
FROM cte
WHERE rn < 3) -- Count
SELECT id
FROM cte
CROSS JOIN (SELECT 1003 id) B
答案 1 :(得分:1)
验证密码是否正确:
确保没有哈希或盐传输到客户端。