Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/visual-studio-2010/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用于MySQL数据库中密码存储的SHA-2?_Mysql_Visual Studio 2010_Passwords_Vsto - Fatal编程技术网

用于MySQL数据库中密码存储的SHA-2?

用于MySQL数据库中密码存储的SHA-2?,mysql,visual-studio-2010,passwords,vsto,Mysql,Visual Studio 2010,Passwords,Vsto,关于使用MySQL/Visual Studio 2010(VSTO Visual Basic)存储/检索密码,我有几个问题。我希望他们是直截了当的 SHA-2问题 我正在使用MySQL(通过PHPMyAdmin接口)创建一个表,只存储两列:用户ID和密码。在阅读了SO和其他一些资源之后,使用SHA-2加密和salt存储密码似乎是一个可行的选择。这是正确的吗 VISUAL STUDIO 2010问题 我正在Visual Studio 2010中构建一个VSTO项目,并将使用Visual Basic

关于使用MySQL/Visual Studio 2010(VSTO Visual Basic)存储/检索密码,我有几个问题。我希望他们是直截了当的

SHA-2问题

我正在使用MySQL(通过PHPMyAdmin接口)创建一个表,只存储两列:用户ID和密码。在阅读了SO和其他一些资源之后,使用SHA-2加密和salt存储密码似乎是一个可行的选择。这是正确的吗

VISUAL STUDIO 2010问题

我正在Visual Studio 2010中构建一个VSTO项目,并将使用Visual Basic访问表中的数据-如何使用SHA-2算法对用户输入的密码进行编码?我似乎找不到任何关于这个过程的“最新”指南。我想我必须下载/安装一个扩展,可以将SHA-2算法处理到VS2010中。这里的过程是,我在Excel中构建了一个“登录系统”,但我想通过将用户名/密码组合与MySQL表中已经存在的数据进行比较来验证它

腌制问题

而且,我读到的任何地方都强烈推荐使用盐渍,所以我决定使用一个随机字符串,比如's@w0s9w%$x“或者类似的东西,显然,每次我需要编码并匹配数据库密码时都会存储/使用它。这足够安全吗?你会如何为每个用户使用不同的salt单词,但要记住这一点?您是否可以简单地将用户名/salt单词组合保存在另一个表中,然后将其提取出来


编辑:添加更多信息

不要尝试创建自己的密码哈希方案。取而代之的是使用一个知名的。通常有三种选择:、和。这些都是由安全专业人士设计的,已经存在了很长一段时间,并没有被打破。实现可用于多种语言

对于盐渍问题,你的基本想法是正确的。通常,盐与密码一起存储在数据库中。盐不被认为是一个秘密,但它对每个用户都应该是唯一的。Bcrypt哈希本身已经包含了盐,所以您不必担心这一点

security.se中的相关答案:


这是一篇关于密码散列的好文章:

提出的算法是不错的选择,因为它们速度慢(有成本因素)。单次SHA-*传递速度太快,因此很容易被粗暴地强迫。