相关疑难解决方法(0)

如何在node.js中检查ASP.NET密码哈希

首先,我使用SHA256和.NET/Node.js读取了这个Hashing密码,它对我没有帮助.

我必须验证在node.js环境中在ASP.NET中创建的密码哈希.我被告知使用此算法生成密码:ASP.NET成员资格使用的默认哈希算法是什么?.

我有示例密码哈希和盐(第一行是密码,第二行是盐):

"Password": "jj/rf7OxXM263rPgvLan4M6Is7o=",
"PasswordSalt": "/Eju9rmaJp03e3+z1v5s+A==",
Run Code Online (Sandbox Code Playgroud)

我知道哈希算法是SHA1,我知道上面的哈希是为输入生成的test123.但是我不能重现散列算法来为此输入获取相同的散列.我尝试了什么:

Password = "jj/rf7OxXM263rPgvLan4M6Is7o="
PasswordSalt = "/Eju9rmaJp03e3+z1v5s+A=="
crypto = require("crypto")
sha1 = crypto.createHash("sha1")
PasswordSalt = new Buffer(PasswordSalt, 'base64').toString('utf8')
sha1.update(PasswordSalt+"test123", "utf8")
result = sha1.digest("base64")
console.log(Password)
console.log(result)
Run Code Online (Sandbox Code Playgroud)

结果是:

jj/rf7OxXM263rPgvLan4M6Is7o=
xIjxRod4+HVYzlHZ9xomGGGY6d8=
Run Code Online (Sandbox Code Playgroud)

我能够得到C#算法:

using System.IO;
using System;
using System.Text;
using System.Security.Cryptography;

class Program
{

    static string EncodePassword(string pass, string salt)
    {
        byte[] bytes = Encoding.Unicode.GetBytes(pass);
        byte[] src = Convert.FromBase64String(salt);
        byte[] dst = new byte[src.Length + bytes.Length];
        Buffer.BlockCopy(src, …
Run Code Online (Sandbox Code Playgroud)

asp.net algorithm hash node.js

6
推荐指数
2
解决办法
1767
查看次数

标签 统计

algorithm ×1

asp.net ×1

hash ×1

node.js ×1