小编Jov*_*ova的帖子

2个相等的byte []不返回true

我正在尝试在登录时验证某人的密码.

我取输入的密码并检索用户保存的哈希密码和密码盐.

然后我用保存的盐哈希输入的密码,看它是否等于保存的密码.

但是,即使byte [] storedPassword与byte [] enteredPassword完全相同,它也不会在bool中返回true,因此不会验证用户.这是为什么?

public static bool VerifyPassword(byte[] newPassword, byte[] storedPassword, byte[] storedSalt)
    {
        byte[] password = CreateHashedPassword(newPassword, storedSalt);

        if (!password.Equals(storedPassword))
            return false;

        return true;
    }
Run Code Online (Sandbox Code Playgroud)

c# passwords byte

7
推荐指数
2
解决办法
2509
查看次数

复制字节[]到另一个字节[]的问题

我有一个方法来创建哈希密码.然而它在salt.CopyTo崩溃(pwd,0); 说目标字节[]太小了.我该如何解决这个问题?

public static byte[] CreateHashedPassword(string password, byte[] salt)
        {
            SHA1 sha1 = SHA1.Create();
            byte[] pwd = CustomHelpers.StringToByteArray(password);
            salt.CopyTo(pwd, 0);
            sha1.ComputeHash(pwd);

            return pwd;            
        }
Run Code Online (Sandbox Code Playgroud)

c# byte

3
推荐指数
1
解决办法
2万
查看次数

标签 统计

byte ×2

c# ×2

passwords ×1