简体   繁体   English

在Javascript中散列symfony2密码

[英]Hash symfony2 password in Javascript

I wouldlike to hashing a password like symfony2, but in javascript.我想散列一个像 symfony2 这样的密码,但在 javascript 中。 This is my code in 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;
};

The hash password i obtain isn't the same in the database, i don't really know why.我获得的哈希密码在数据库中不一样,我真的不知道为什么。 My password in Symfony2 is hashed in SHA512 with a salt, i'm sure, because i test a code in PHP and it works.我在 Symfony2 中的密码是用盐在 SHA512 中散列的,我敢肯定,因为我在 PHP 中测试了代码并且它有效。

Can you help me please ?你能帮我吗 ?

Thank you谢谢

According to this answer is根据这个答案

SHA1 [..] not made for security [..] grab any implementation of BCrypt 

but there is an explanation that maybe a line break causes the different hashes.但有一种解释可能是换行符会导致不同的哈希值。 This can be turned off with Base64.encodeToString(byteData, Base64.NO_WRAP) in their case.这可以通过Base64.encodeToString(byteData, Base64.NO_WRAP)关闭。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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