好的,我有一个用C#编写的应用程序.我们在SQL Server中有数据.在这些数据中,我们有用户帐户,可以访问应用程序.
我已经阅读过,而且我知道你应该加盐和散列并且可能会散乱很多次等等.但是,我该怎么办?我应该向SQL Server发送什么内容?究竟我在数据库中存储什么?我在SQL中哈希吗?(可能是一个散列函数,就像在mysql中一样?)我是否在代码中散列并执行奇特的东西?我是否将哈希发送到服务器并进行比较,或者我是否从服务器获取哈希并在我的应用程序中进行比较?盐怎么样?我在哪里制作的?我在哪里存放?我怎么得到它?
换句话说,有人可以给我一个很好的清晰的登录方案演示(可能还有用户添加/重置密码方案).什么地方,应该在哪里使用,等等.
希望有人可以为我清除这些东西=)
对于C#+ SQL Server,您只需使用MembershipProvider模型,它将为您处理所有这些.
而IMO,让所有这些东西正确的最重要的部分不是自己做.相反,依赖于您的平台提供的机制.只是很容易以一种看似有效的微妙方式弄错.然后您部署,而你甚至不知道什么是错的,直到之后你砍死.