繁体   English   中英

在Javascript中散列symfony2密码

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM