public static byte[] GenerateSaltedHash(byte[] plainText, byte[] salt) { var algorithm = new SHA256Managed(); var plainTextWithSaltBytes = new byte[plainText.Length + salt.Length]; for (var i = 0; i < plainText.Length; i + +) { plainTextWithSaltBytes[i] = plainText[i]; } for (var i = 0; i < salt.Length; i + +) { plainTextWithSaltBytes[plainText.Length + i] = salt[i]; } return algorithm.ComputeHash(plainTextWithSaltBytes); } public static bool CompareByteArrays(byte[] array1, byte[] array2) { if (array1.Length ! = array2.Length) { return false; } for (int i = 0; i < array1.Length; i + +) { if (array1[i] ! = array2[i]) { return false; } } return true; }
`return array1.Length == array2.Length && !array1.Where((t, i) => t != array2[i]).Any();`