[英]Hash symfony2 password in Javascript
我想散列一个像 symfony2 这样的密码,但在 javascript 中。 这是我在 Javascript 中的代码:
this.hashPassword = function(salt, clearPassword) {
var digest = "";
console.log('==== STARTING HASHING PASSWORD ====');
var salted = null;
if (!salt || salt == "") {
salted = clearPassword;
} else {
salted = clearPassword + "{" + salt + "}";
}
digest = CryptoJS.SHA512(salted);
for (var i=1; i<5000; i++) {
digest = CryptoJS.SHA512(digest.toString(CryptoJS.enc.Latin1)+salted);
}
digest = digest.toString(CryptoJS.enc.Base64);
console.log('==== ENDING HASHING PASSWORD ====');
console.log(digest);
return digest;
};
我获得的哈希密码在数据库中不一样,我真的不知道为什么。 我在 Symfony2 中的密码是用盐在 SHA512 中散列的,我敢肯定,因为我在 PHP 中测试了代码并且它有效。
你能帮我吗 ?
谢谢
根据这个答案是
SHA1 [..] not made for security [..] grab any implementation of BCrypt
但有一种解释可能是换行符会导致不同的哈希值。 这可以通过Base64.encodeToString(byteData, Base64.NO_WRAP)
关闭。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.