我需要在.Net WinForms应用程序中存储单个密码的哈希值.
什么是最安全的方法?
特别是:
我假设算法应该是SHA512或HMACSHA512.
只是有几个问题通过ajax提交登录表单,我主要是一个PHP开发人员,我不经常使用PHP的Jquery + Ajax.
目前如果我在提交表单后检查firebug POST数据,它似乎确实获得了已添加到表单的用户名和密码,但无论是否添加了错误的用户名和密码,或者是否重新加载该页面它们是正确的,没有创建会话.
这是形式:
<form id="loginform" method="post">
Username: <input type="text" name="username" id="username" value="">
Password: <input type="password" name="password" id="password" value="">
<input type="submit" name="loginsub" id="loginsub" value="Login">
</form>
Run Code Online (Sandbox Code Playgroud)
这是Ajax/Jquery:
<script type="text/javascript">
$(document).ready(function() {
$('#loginform').submit(function() {
$.ajax({
type: "POST",
url: '/class/login.php',
data: {
username: $("#username").val(),
password: $("#password").val()
},
success: function(data)
{
if (data === 'Login') {
window.location.replace('/user-page.php');
}
else {
alert('Invalid Credentials');
}
}
});
});
});
</script>
Run Code Online (Sandbox Code Playgroud)
这是PHP:
class Users {
public $username = null;
public $password = null;
public function …
Run Code Online (Sandbox Code Playgroud) 作为一名 php 开发人员,长期以来,我一直在使用 md5 散列算法来保护密码数据并生成独特的散列算法。
然而,从最近几个月开始,我听到谣言说 md5 不再被认为是安全的,我想知道为什么?
PHP 5.5 中的密码验证替代方案是什么,即 SHA1、password_hash()?而且我想知道为什么现在这些替代方案被认为是更好的选择,因为对我来说,其中大部分又只是另一种散列算法......