tem*_*elm 2 c# database encryption passwords store
我正在设计一个C#应用程序,我需要将用户的登录信息(包括密码)存储在数据库表中.我想知道这是一个不错的方式.
我知道将密码存储为明文是一个可怕的想法.
我在考虑加密密码然后存储它们.之后,每次用户输入密码时,我都可以加密输入并将加密输入与数据库中已有的输入进行比较.我的计划是使用一个良好的加密函数...
Cam*_*ner 5
切勿存储密码.存储密码的哈希值.
请注意,这不是加密.散列和加密是相关的,但它们并不相同.
您可以做的最好的事情是使用标准密码散列函数,如bcrypt或pbkdf2.不要重新发明轮子.
本文对如何安全地存储密码进行了很好的描述.
Ole*_*ksi 5
我认为一种常见的策略是使用SHA-256之类的密码来创建密码并将其存储在数据库中.然后,要登录,您可以对用户输入的内容进行哈希处理,并将其与数据库中的内容进行比较.
这个系统意味着你的"加密"是一种方式.给定密码哈希,您无法检索密码.请注意,这会产生可用性后果.具体来说,您无法向用户发送密码.您只能重置密码.
进一步的改进将是盐密码哈希你之前.这可以防止涉及彩虹表的一类攻击.您几乎肯定会这样做以及散列密码.
正如其他人所提到的,重复这几次以防止暴力攻击也很重要.
归档时间:
13 年,8 月 前
查看次数:
1225 次
最近记录: