2017-02-06 9 views
0

既存のGOスクリプトをNodeJSに変換するのは苦労します。これは、基本的に2つの引数agreuponpony塩類を取り、ハッシュ化スクリプトを返します。GOからNodejsへのパスワードハッシングスクリプトの変換

package main 

import (
    "fmt" 
    "hash" 
    "crypto/sha256" 
) 

func main() { 
    var agreedUponKey string 
    var salt string 
    var h hash.Hash 

    agreedUponKey = "giri" 
    salt = "XYZabc987" 

    h = sha256.New() 
    h.Write([]byte(agreedUponKey)) 
    h.Write([]byte(salt)) 

    sha256Sum := h.Sum(nil) 
    print("calculated passwordHash:", sha256Sum) 

    var hexHash = make([]byte, 0, 64) 
    for _, v := range sha256Sum { 
     hexHash = append(hexHash,[]byte(fmt.Sprintf("%02x", v))...) 
    } 

    print("calculated passwordHash:", string(hexHash)) 
} 

私は2つのハッシュが異なっている以下の点

var crypto = require('crypto'); 
var convert = require('convert-string'); 

function test(pwd,key) { 
    console.log("Password :",pwd); 
    var byteKey=convert.stringToBytes(key); 
    var bytePwd=convert.stringToBytes(pwd);  
    var hash = crypto.createHash('sha256').update(byteKey+bytePwd).digest('base64'); 
    console.log("hashcode of password :",hash); 
}; 
test("XYZabc987","giri"); 

までコーディングするために管理しています。どんな助けでも大歓迎です。私はGOラングでNoobの

います注意してください:あなたは

+0

ノード部分に「塩」がありません。 –

+0

test( "XYZabc987"、 "giri");私たちは引数としてそれを送信しています –

答えて

1
ゴースクリプトをコンパイルして実行する https://play.golang.org/を使用することができます
var crypto = require('crypto'); 
function test(pwd, key) { 
    var input = key.concat(pwd) 
    var hash = crypto.createHash('sha256').update(input).digest('hex'); 
    console.log("hashcode of password :", hash); 
}; 
test("XYZabc987", "giri"); 

あなたはこのonline toolを使用して正しいハッシュを検証することができます。

+0

それは助けられました..ありがとうたくさんの! –

関連する問題