From e5fea698158d4fc4b3cb31db2079e862f8f5d877 Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 2 Jan 2025 14:35:40 -0500 Subject: [PATCH] Rename checksum methods based on HashAlgorithm --- SabreTools.Hashing/Checksum/Adler32.cs | 8 +++---- SabreTools.Hashing/Checksum/ChecksumBase.cs | 23 +++++++-------------- SabreTools.Hashing/Checksum/Crc.cs | 6 +++--- SabreTools.Hashing/Checksum/FNV0_32.cs | 4 ++-- SabreTools.Hashing/Checksum/FNV0_64.cs | 4 ++-- SabreTools.Hashing/Checksum/FNV1_32.cs | 4 ++-- SabreTools.Hashing/Checksum/FNV1_64.cs | 4 ++-- SabreTools.Hashing/Checksum/FNV1a_32.cs | 4 ++-- SabreTools.Hashing/Checksum/FNV1a_64.cs | 4 ++-- SabreTools.Hashing/Checksum/Fletcher16.cs | 4 ++-- SabreTools.Hashing/Checksum/Fletcher32.cs | 4 ++-- SabreTools.Hashing/Checksum/Fletcher64.cs | 4 ++-- SabreTools.Hashing/Checksum/FnvBase.cs | 2 +- SabreTools.Hashing/HashWrapper.cs | 6 +++--- 14 files changed, 36 insertions(+), 45 deletions(-) diff --git a/SabreTools.Hashing/Checksum/Adler32.cs b/SabreTools.Hashing/Checksum/Adler32.cs index f925673..ed49df8 100644 --- a/SabreTools.Hashing/Checksum/Adler32.cs +++ b/SabreTools.Hashing/Checksum/Adler32.cs @@ -8,19 +8,19 @@ namespace SabreTools.Hashing.Checksum { public Adler32() { - Reset(); + Initialize(); } /// /// Reset the internal hashing state /// - public override void Reset() + public override void Initialize() { _hash = 1; } /// - public override void TransformBlock(byte[] data, int offset, int length) + public override void HashCore(byte[] data, int offset, int length) { // Split Adler-32 into component sums uint sum2 = (_hash >> 16) & 0xffff; @@ -131,7 +131,7 @@ namespace SabreTools.Hashing.Checksum } /// - public override byte[] Finalize() + public override byte[] HashFinal() { return BitConverter.GetBytes(_hash); } diff --git a/SabreTools.Hashing/Checksum/ChecksumBase.cs b/SabreTools.Hashing/Checksum/ChecksumBase.cs index e418c96..f7ec12c 100644 --- a/SabreTools.Hashing/Checksum/ChecksumBase.cs +++ b/SabreTools.Hashing/Checksum/ChecksumBase.cs @@ -7,18 +7,11 @@ namespace SabreTools.Hashing.Checksum /// public abstract class ChecksumBase { - /// - /// Hash a block of data and append it to the existing hash - /// - /// Byte array representing the data - /// Offset in the byte array to include - /// Length of the data to hash - public abstract void TransformBlock(byte[] data, int offset, int length); + /// + public abstract void HashCore(byte[] data, int offset, int length); - /// - /// Finalize the hash and return as a byte array - /// - public abstract byte[] Finalize(); + /// + public abstract byte[] HashFinal(); } /// @@ -31,16 +24,14 @@ namespace SabreTools.Hashing.Checksum /// protected T _hash; - /// - /// Reset the internal hashing state - /// - public virtual void Reset() + /// + public virtual void Initialize() { _hash = default; } /// - public override byte[] Finalize() + public override byte[] HashFinal() { return _hash switch { diff --git a/SabreTools.Hashing/Checksum/Crc.cs b/SabreTools.Hashing/Checksum/Crc.cs index c019fd4..8b50505 100644 --- a/SabreTools.Hashing/Checksum/Crc.cs +++ b/SabreTools.Hashing/Checksum/Crc.cs @@ -27,17 +27,17 @@ namespace SabreTools.Hashing.Checksum } /// - public override void Reset() + public override void Initialize() { _hash = Def.Init; } /// - public override void TransformBlock(byte[] data, int offset, int length) + public override void HashCore(byte[] data, int offset, int length) => _table.TransformBlock(ref _hash, data, offset, length); /// - public override byte[] Finalize() + public override byte[] HashFinal() { // Create a copy of the hash ulong localHash = _hash; diff --git a/SabreTools.Hashing/Checksum/FNV0_32.cs b/SabreTools.Hashing/Checksum/FNV0_32.cs index 05518c2..09280f4 100644 --- a/SabreTools.Hashing/Checksum/FNV0_32.cs +++ b/SabreTools.Hashing/Checksum/FNV0_32.cs @@ -8,11 +8,11 @@ namespace SabreTools.Hashing.Checksum { _basis = 0; _prime = FNV32Prime; - Reset(); + Initialize(); } /// - public override void TransformBlock(byte[] data, int offset, int length) + public override void HashCore(byte[] data, int offset, int length) { for (int i = offset; length > 0; i++, length--) { diff --git a/SabreTools.Hashing/Checksum/FNV0_64.cs b/SabreTools.Hashing/Checksum/FNV0_64.cs index 25c66f7..0d6a63f 100644 --- a/SabreTools.Hashing/Checksum/FNV0_64.cs +++ b/SabreTools.Hashing/Checksum/FNV0_64.cs @@ -8,11 +8,11 @@ namespace SabreTools.Hashing.Checksum { _basis = 0; _prime = FNV64Prime; - Reset(); + Initialize(); } /// - public override void TransformBlock(byte[] data, int offset, int length) + public override void HashCore(byte[] data, int offset, int length) { for (int i = offset; length > 0; i++, length--) { diff --git a/SabreTools.Hashing/Checksum/FNV1_32.cs b/SabreTools.Hashing/Checksum/FNV1_32.cs index df31f06..075ea2a 100644 --- a/SabreTools.Hashing/Checksum/FNV1_32.cs +++ b/SabreTools.Hashing/Checksum/FNV1_32.cs @@ -8,11 +8,11 @@ namespace SabreTools.Hashing.Checksum { _basis = FNV32Basis; _prime = FNV32Prime; - Reset(); + Initialize(); } /// - public override void TransformBlock(byte[] data, int offset, int length) + public override void HashCore(byte[] data, int offset, int length) { for (int i = offset; length > 0; i++, length--) { diff --git a/SabreTools.Hashing/Checksum/FNV1_64.cs b/SabreTools.Hashing/Checksum/FNV1_64.cs index 6ad9771..12e70b8 100644 --- a/SabreTools.Hashing/Checksum/FNV1_64.cs +++ b/SabreTools.Hashing/Checksum/FNV1_64.cs @@ -8,11 +8,11 @@ namespace SabreTools.Hashing.Checksum { _basis = FNV64Basis; _prime = FNV64Prime; - Reset(); + Initialize(); } /// - public override void TransformBlock(byte[] data, int offset, int length) + public override void HashCore(byte[] data, int offset, int length) { for (int i = offset; length > 0; i++, length--) { diff --git a/SabreTools.Hashing/Checksum/FNV1a_32.cs b/SabreTools.Hashing/Checksum/FNV1a_32.cs index 11d0f36..8f31b14 100644 --- a/SabreTools.Hashing/Checksum/FNV1a_32.cs +++ b/SabreTools.Hashing/Checksum/FNV1a_32.cs @@ -8,11 +8,11 @@ namespace SabreTools.Hashing.Checksum { _basis = FNV32Basis; _prime = FNV32Prime; - Reset(); + Initialize(); } /// - public override void TransformBlock(byte[] data, int offset, int length) + public override void HashCore(byte[] data, int offset, int length) { for (int i = offset; length > 0; i++, length--) { diff --git a/SabreTools.Hashing/Checksum/FNV1a_64.cs b/SabreTools.Hashing/Checksum/FNV1a_64.cs index a41f541..d6bb234 100644 --- a/SabreTools.Hashing/Checksum/FNV1a_64.cs +++ b/SabreTools.Hashing/Checksum/FNV1a_64.cs @@ -8,11 +8,11 @@ namespace SabreTools.Hashing.Checksum { _basis = FNV64Basis; _prime = FNV64Prime; - Reset(); + Initialize(); } /// - public override void TransformBlock(byte[] data, int offset, int length) + public override void HashCore(byte[] data, int offset, int length) { for (int i = offset; length > 0; i++, length--) { diff --git a/SabreTools.Hashing/Checksum/Fletcher16.cs b/SabreTools.Hashing/Checksum/Fletcher16.cs index 6ffee90..3b117ea 100644 --- a/SabreTools.Hashing/Checksum/Fletcher16.cs +++ b/SabreTools.Hashing/Checksum/Fletcher16.cs @@ -5,11 +5,11 @@ namespace SabreTools.Hashing.Checksum { public Fletcher16() { - Reset(); + Initialize(); } /// - public override void TransformBlock(byte[] data, int offset, int length) + public override void HashCore(byte[] data, int offset, int length) { // Split the existing hash uint c0 = (uint)(_hash & 0x00FF); diff --git a/SabreTools.Hashing/Checksum/Fletcher32.cs b/SabreTools.Hashing/Checksum/Fletcher32.cs index 7d7bd07..73d9e92 100644 --- a/SabreTools.Hashing/Checksum/Fletcher32.cs +++ b/SabreTools.Hashing/Checksum/Fletcher32.cs @@ -8,11 +8,11 @@ namespace SabreTools.Hashing.Checksum { public Fletcher32() { - Reset(); + Initialize(); } /// - public override void TransformBlock(byte[] data, int offset, int length) + public override void HashCore(byte[] data, int offset, int length) { // Split Fletcher-32 into component sums uint c0 = _hash & 0xffff; diff --git a/SabreTools.Hashing/Checksum/Fletcher64.cs b/SabreTools.Hashing/Checksum/Fletcher64.cs index 2dfb5a9..71c1607 100644 --- a/SabreTools.Hashing/Checksum/Fletcher64.cs +++ b/SabreTools.Hashing/Checksum/Fletcher64.cs @@ -8,11 +8,11 @@ namespace SabreTools.Hashing.Checksum { public Fletcher64() { - Reset(); + Initialize(); } /// - public override void TransformBlock(byte[] data, int offset, int length) + public override void HashCore(byte[] data, int offset, int length) { // Split Fletcher-64 into component sums ulong c0 = _hash & 0xffffffff; diff --git a/SabreTools.Hashing/Checksum/FnvBase.cs b/SabreTools.Hashing/Checksum/FnvBase.cs index 522841f..bad90c3 100644 --- a/SabreTools.Hashing/Checksum/FnvBase.cs +++ b/SabreTools.Hashing/Checksum/FnvBase.cs @@ -13,7 +13,7 @@ namespace SabreTools.Hashing.Checksum protected T _prime; /// - public override void Reset() + public override void Initialize() { _hash = _basis; } diff --git a/SabreTools.Hashing/HashWrapper.cs b/SabreTools.Hashing/HashWrapper.cs index b92209c..9dc9801 100644 --- a/SabreTools.Hashing/HashWrapper.cs +++ b/SabreTools.Hashing/HashWrapper.cs @@ -35,7 +35,7 @@ namespace SabreTools.Hashing switch (_hasher) { case ChecksumBase cb: - var cbArr = cb.Finalize(); + var cbArr = cb.HashFinal(); Array.Reverse(cbArr); return cbArr; @@ -88,7 +88,7 @@ namespace SabreTools.Hashing switch (_hasher) { case Crc cr: - var crArr = cr.Finalize(); + var crArr = cr.HashFinal(); ulong crHash = BytesToUInt64(crArr); int length = cr.Def.Width / 4 + (cr.Def.Width % 4 > 0 ? 1 : 0); return crHash.ToString($"x{length}"); @@ -354,7 +354,7 @@ namespace SabreTools.Hashing switch (_hasher) { case ChecksumBase cb: - cb.TransformBlock(buffer, offset, size); + cb.HashCore(buffer, offset, size); break; case HashAlgorithm ha: