diff --git a/wbackup/Program.cs b/wbackup/Program.cs index 2bf76de..cd15b7b 100644 --- a/wbackup/Program.cs +++ b/wbackup/Program.cs @@ -29,23 +29,28 @@ static private uint CalclateHash(string fileName) { - uint hashValue = 0; byte[] readbuff = new byte [1024 * 4]; Array.Clear(readbuff, 0, readbuff.Length); + Vector hashTemp1 = Vector.Zero; + Vector hashTemp2 = Vector.Zero; using (var fs = File.OpenRead(fileName)) { int readLen = fs.Read(readbuff, 0, readbuff.Length); fs.Close(); - Vector hashTemp1 = Vector.Zero; - Vector hashTemp2 = Vector.Zero; ReadOnlySpan span = new ReadOnlySpan(readbuff); for (int i = 0; i < readbuff.Length; i += Vector.Count * sizeof(int)) { - hashTemp2 = new Vector(span.Slice(i, Vector.Count * sizeof(int))); + hashTemp2 = new Vector(span.Slice(i, Vector.Count * sizeof(uint))); hashTemp1 ^= hashTemp2; } } + uint hashValue = 0; + for (int i = 0;i < Vector.Count;i++) + { + hashValue ^= hashTemp1[i]; + } + return hashValue; }