Javascript中的哈希symfony2密码

Javascript中的哈希symfony2密码,javascript,symfony,sha512,Javascript,Symfony,Sha512,我想散列一个类似symfony2的密码,但是使用javascript。这是我的Javascript代码: this.hashPassword = function(salt, clearPassword) { var digest = ""; console.log('==== STARTING HASHING PASSWORD ===='); var salted = null; if (!salt || salt == "") { salted

我想散列一个类似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;
};
this.hashPassword=函数(salt、clearPassword){
var digest=“”;
log('==开始哈希密码===');
var salted=null;
如果(!salt | salt==“”){
salted=清除密码;
}否则{
salted=clearPassword+“{+salt+”}”;
}
摘要=CryptoJS.SHA512(盐渍);
对于(var i=1;i根据is


但是有一种解释是,可能是换行导致了不同的散列。这可以通过
Base64.encodeToString(byteData,Base64.NO_WRAP)关闭
在他们的情况下。

为什么你需要在JS中散列密码?这不安全,因为任何人都可以用这种方法读取密码。^同意,这是本周最愚蠢的事情。因为我使用的是javascript开发的应用程序。我想与用symfony2开发的后端进行通信。所以,如果我的想法对你来说很愚蠢,我只是想要一个解决方案,而不是私刑。谢谢you@FlorentGuenebeaud那么,如果您按原样发送密码呢?
SHA1 [..] not made for security [..] grab any implementation of BCrypt