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

Jov*_*ova 3 c# byte

我有一个方法来创建哈希密码.然而它在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)

Mar*_*ers 9

您需要创建一个更长的字节数组来包含salt和密码:

    byte[] result = new byte[salt.Length + password.Length];
    salt.CopyTo(result, 0);
    password.CopyTo(result, salt.Length);
Run Code Online (Sandbox Code Playgroud)