[IChecksum] Add missing fields for interface.

This commit is contained in:
2023-10-05 12:55:28 +01:00
parent 6cf148e849
commit 7e91888aca
18 changed files with 356 additions and 0 deletions

View File

@@ -61,6 +61,7 @@
</ItemGroup>
<ItemGroup>
<PackageReference Include="Aaru.Checksums.Native" Version="6.0.0-alpha9"/>
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0-rc.1.23419.4"/>
<PackageReference Include="Unclassified.NetRevisionTask" Version="0.4.3" PrivateAssets="all"/>
</ItemGroup>
<ItemGroup>

View File

@@ -75,6 +75,15 @@ public sealed class Adler32Context : IChecksum
#region IChecksum Members
/// <inheritdoc />
public string Name => Localization.Adler32_Name;
/// <inheritdoc />
public Guid Id => new("D69CF1E7-4A7B-4605-9291-3A1BE4C2951F");
/// <inheritdoc />
public string Author => Authors.NataliaPortillo;
/// <inheritdoc />
/// <summary>Updates the hash with data.</summary>
/// <param name="data">Data buffer.</param>

37
Authors.cs Normal file
View File

@@ -0,0 +1,37 @@
// /***************************************************************************
// Aaru Data Preservation Suite
// ----------------------------------------------------------------------------
//
// Filename : Authors.cs
// Author(s) : Natalia Portillo <claunia@claunia.com>
//
// Component : Aaru.Checksums.
//
// --[ License ] --------------------------------------------------------------
//
// This library is free software; you can redistribute it and/or modify
// it under the terms of the GNU Lesser General Public License as
// published by the Free Software Foundation; either version 2.1 of the
// License, or (at your option) any later version.
//
// This library is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, see <http://www.gnu.org/licenses/>.
//
// ----------------------------------------------------------------------------
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System.Diagnostics.CodeAnalysis;
namespace Aaru.Checksums;
[SuppressMessage("ReSharper", "InconsistentNaming")]
static class Authors
{
internal const string NataliaPortillo = "Natalia Portillo";
}

View File

@@ -30,6 +30,7 @@
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System;
using System.Diagnostics.CodeAnalysis;
namespace Aaru.Checksums;
@@ -235,6 +236,10 @@ public sealed class CRC16CcittContext : Crc16Context
/// <inheritdoc />
public CRC16CcittContext() : base(CRC16_CCITT_POLY, CRC16_CCITT_SEED, _ccittCrc16Table, true) {}
public string Name => Localization.CRC16_CCITT_Name;
public Guid Id => new("4C3BD0D5-24BD-4D45-BC19-A90A5AA5CC9D");
public string Author => Authors.NataliaPortillo;
/// <summary>Gets the hash of a file</summary>
/// <param name="filename">File path.</param>
public static byte[] File(string filename)

View File

@@ -86,6 +86,15 @@ public class Crc16Context : IChecksum
#region IChecksum Members
/// <inheritdoc />
public string Name => "Adler-32";
/// <inheritdoc />
public Guid Id => new("D69CF1E7-4A7B-4605-9291-3A1BE4C2951F");
/// <inheritdoc />
public string Author => Authors.NataliaPortillo;
/// <inheritdoc />
/// <summary>Updates the hash with data.</summary>
/// <param name="data">Data buffer.</param>

View File

@@ -30,6 +30,7 @@
// Copyright © 2011-2023 Natalia Portillo
// ****************************************************************************/
using System;
using System.Diagnostics.CodeAnalysis;
namespace Aaru.Checksums;
@@ -236,6 +237,15 @@ public sealed class CRC16IbmContext : Crc16Context
/// <inheritdoc />
public CRC16IbmContext() : base(CRC16_IBM_POLY, CRC16_IBM_SEED, _ibmCrc16Table, false) {}
/// <inheritdoc />
public string Name => Localization.CRC16_IBM_Name;
/// <inheritdoc />
public Guid Id => new("0470433E-0C78-4C37-8C9F-BD8E72340E78");
/// <inheritdoc />
public string Author => Authors.NataliaPortillo;
/// <summary>Gets the hash of a file</summary>
/// <param name="filename">File path.</param>
// ReSharper disable once ReturnTypeCanBeEnumerable.Global

View File

@@ -354,6 +354,15 @@ public sealed class Crc32Context : IChecksum
#region IChecksum Members
/// <inheritdoc />
public string Name => Localization.CRC32_Name;
/// <inheritdoc />
public Guid Id => new("BCC4E18A-79CD-4B52-8A57-2B599E5176B3");
/// <inheritdoc />
public string Author => Authors.NataliaPortillo;
/// <inheritdoc />
/// <summary>Updates the hash with data.</summary>
/// <param name="data">Data buffer.</param>

View File

@@ -319,6 +319,15 @@ public sealed class Crc64Context : IChecksum
#region IChecksum Members
/// <inheritdoc />
public string Name => Localization.CRC64_ECMA_Name;
/// <inheritdoc />
public Guid Id => new("D0C0D902-420A-45DA-A235-9D48BEE4B1CE");
/// <inheritdoc />
public string Author => Authors.NataliaPortillo;
/// <inheritdoc />
/// <summary>Updates the hash with data.</summary>
/// <param name="data">Data buffer.</param>

View File

@@ -73,6 +73,15 @@ public sealed class Fletcher32Context : IChecksum
#region IChecksum Members
/// <inheritdoc />
public string Name => Localization.Fletcher32_Name;
/// <inheritdoc />
public Guid Id => new("0E51B39F-C5E6-4CED-9E59-BA5A42B3B2F4");
/// <inheritdoc />
public string Author => Authors.NataliaPortillo;
/// <inheritdoc />
/// <summary>Updates the hash with data.</summary>
/// <param name="data">Data buffer.</param>
@@ -442,6 +451,15 @@ public sealed class Fletcher16Context : IChecksum
#region IChecksum Members
/// <inheritdoc />
public string Name => Localization.Fletcher16_Name;
/// <inheritdoc />
public Guid Id => new("80C51F1D-71F8-4741-A0CF-18FA8102EE4B");
/// <inheritdoc />
public string Author => Authors.NataliaPortillo;
/// <inheritdoc />
/// <summary>Updates the hash with data.</summary>
/// <param name="data">Data buffer.</param>

View File

@@ -59,6 +59,15 @@ namespace Aaru.Checksums {
}
}
/// <summary>
/// Looks up a localized string similar to Adler-32.
/// </summary>
internal static string Adler32_Name {
get {
return ResourceManager.GetString("Adler32_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Assertion failed.
/// </summary>
@@ -104,6 +113,42 @@ namespace Aaru.Checksums {
}
}
/// <summary>
/// Looks up a localized string similar to CRC-16 (CCITT).
/// </summary>
internal static string CRC16_CCITT_Name {
get {
return ResourceManager.GetString("CRC16_CCITT_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to CRC-16 (IBM).
/// </summary>
internal static string CRC16_IBM_Name {
get {
return ResourceManager.GetString("CRC16_IBM_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to CRC-32.
/// </summary>
internal static string CRC32_Name {
get {
return ResourceManager.GetString("CRC32_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to CRC-64 (ECMA).
/// </summary>
internal static string CRC64_ECMA_Name {
get {
return ResourceManager.GetString("CRC64_ECMA_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Cyclic CDTP2 0x{0:X4}, Calc CDTP2 0x{1:X4}.
/// </summary>
@@ -235,6 +280,24 @@ namespace Aaru.Checksums {
}
}
/// <summary>
/// Looks up a localized string similar to Fletcher-16.
/// </summary>
internal static string Fletcher16_Name {
get {
return ResourceManager.GetString("Fletcher16_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Fletcher-32.
/// </summary>
internal static string Fletcher32_Name {
get {
return ResourceManager.GetString("Fletcher32_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to
/// lambda(x) is WRONG
@@ -255,6 +318,15 @@ namespace Aaru.Checksums {
}
}
/// <summary>
/// Looks up a localized string similar to MD5.
/// </summary>
internal static string MD5_Name {
get {
return ResourceManager.GetString("MD5_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Not yet implemented..
/// </summary>
@@ -273,6 +345,42 @@ namespace Aaru.Checksums {
}
}
/// <summary>
/// Looks up a localized string similar to SHA1.
/// </summary>
internal static string SHA1_Name {
get {
return ResourceManager.GetString("SHA1_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to SHA256.
/// </summary>
internal static string SHA256_Name {
get {
return ResourceManager.GetString("SHA256_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to SHA384.
/// </summary>
internal static string SHA384_Name {
get {
return ResourceManager.GetString("SHA384_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to SHA512.
/// </summary>
internal static string SHA512_Name {
get {
return ResourceManager.GetString("SHA512_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to SpamSum does not have a binary representation..
/// </summary>
@@ -282,6 +390,15 @@ namespace Aaru.Checksums {
}
}
/// <summary>
/// Looks up a localized string similar to SpamSum.
/// </summary>
internal static string SpamSum_Name {
get {
return ResourceManager.GetString("SpamSum_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The input exceeds data types..
/// </summary>

View File

@@ -94,4 +94,43 @@
<data name="Trying_to_calculate_RS_without_initializing" xml:space="preserve">
<value>¡Intentando calcular RS sin inicializar!</value>
</data>
<data name="Adler32_Name" xml:space="preserve">
<value>Adler-32</value>
</data>
<data name="CRC16_CCITT_Name" xml:space="preserve">
<value>CRC-16 (CCITT)</value>
</data>
<data name="CRC16_IBM_Name" xml:space="preserve">
<value>CRC-16 (IBM)</value>
</data>
<data name="CRC32_Name" xml:space="preserve">
<value>CRC-32</value>
</data>
<data name="CRC64_ECMA_Name" xml:space="preserve">
<value>CRC-64 (ECMA)</value>
</data>
<data name="Fletcher32_Name" xml:space="preserve">
<value>Fletcher-32</value>
</data>
<data name="Fletcher16_Name" xml:space="preserve">
<value>Fletcher-16</value>
</data>
<data name="MD5_Name" xml:space="preserve">
<value>MD5</value>
</data>
<data name="SHA1_Name" xml:space="preserve">
<value>SHA1</value>
</data>
<data name="SHA256_Name" xml:space="preserve">
<value>SHA256</value>
</data>
<data name="SHA384_Name" xml:space="preserve">
<value>SHA384</value>
</data>
<data name="SHA512_Name" xml:space="preserve">
<value>SHA512</value>
</data>
<data name="SpamSum_Name" xml:space="preserve">
<value>SpamSum</value>
</data>
</root>

View File

@@ -108,4 +108,43 @@
<data name="Not_yet_implemented" xml:space="preserve">
<value>Not yet implemented.</value>
</data>
<data name="Adler32_Name" xml:space="preserve">
<value>Adler-32</value>
</data>
<data name="CRC16_CCITT_Name" xml:space="preserve">
<value>CRC-16 (CCITT)</value>
</data>
<data name="CRC16_IBM_Name" xml:space="preserve">
<value>CRC-16 (IBM)</value>
</data>
<data name="CRC32_Name" xml:space="preserve">
<value>CRC-32</value>
</data>
<data name="CRC64_ECMA_Name" xml:space="preserve">
<value>CRC-64 (ECMA)</value>
</data>
<data name="Fletcher32_Name" xml:space="preserve">
<value>Fletcher-32</value>
</data>
<data name="Fletcher16_Name" xml:space="preserve">
<value>Fletcher-16</value>
</data>
<data name="MD5_Name" xml:space="preserve">
<value>MD5</value>
</data>
<data name="SHA1_Name" xml:space="preserve">
<value>SHA1</value>
</data>
<data name="SHA256_Name" xml:space="preserve">
<value>SHA256</value>
</data>
<data name="SHA384_Name" xml:space="preserve">
<value>SHA384</value>
</data>
<data name="SHA512_Name" xml:space="preserve">
<value>SHA512</value>
</data>
<data name="SpamSum_Name" xml:space="preserve">
<value>SpamSum</value>
</data>
</root>

View File

@@ -49,6 +49,15 @@ public sealed class Md5Context : IChecksum
#region IChecksum Members
/// <inheritdoc />
public string Name => Localization.MD5_Name;
/// <inheritdoc />
public Guid Id => new("C78674C4-F699-4FAB-A618-1661AF659A7C");
/// <inheritdoc />
public string Author => Authors.NataliaPortillo;
/// <inheritdoc />
/// <summary>Updates the hash with data.</summary>
/// <param name="data">Data buffer.</param>

View File

@@ -53,6 +53,15 @@ public sealed class Sha1Context : IChecksum
#region IChecksum Members
/// <inheritdoc />
public string Name => Localization.SHA1_Name;
/// <inheritdoc />
public Guid Id => new("5C28939D-DCBB-4C6E-8498-C509ABD99FC2");
/// <inheritdoc />
public string Author => Authors.NataliaPortillo;
/// <inheritdoc />
/// <summary>Updates the hash with data.</summary>
/// <param name="data">Data buffer.</param>

View File

@@ -53,6 +53,15 @@ public sealed class Sha256Context : IChecksum
#region IChecksum Members
/// <inheritdoc />
public string Name => Localization.SHA256_Name;
/// <inheritdoc />
public Guid Id => new("A6F0EF52-064D-41D1-8619-240481749B70");
/// <inheritdoc />
public string Author => Authors.NataliaPortillo;
/// <inheritdoc />
/// <summary>Updates the hash with data.</summary>
/// <param name="data">Data buffer.</param>

View File

@@ -54,6 +54,15 @@ public sealed class Sha384Context : IChecksum
#region IChecksum Members
/// <inheritdoc />
public string Name => Localization.SHA384_Name;
/// <inheritdoc />
public Guid Id => new("4A2A1820-E157-4842-B1E2-0E629FA60DDD");
/// <inheritdoc />
public string Author => Authors.NataliaPortillo;
/// <inheritdoc />
/// <summary>Updates the hash with data.</summary>
/// <param name="data">Data buffer.</param>

View File

@@ -54,6 +54,15 @@ public sealed class Sha512Context : IChecksum
#region IChecksum Members
/// <inheritdoc />
public string Name => Localization.SHA512_Name;
/// <inheritdoc />
public Guid Id => new("1E167BCB-2362-44DA-B5B0-B7ED3A22D5A6");
/// <inheritdoc />
public string Author => Authors.NataliaPortillo;
/// <inheritdoc />
/// <summary>Updates the hash with data.</summary>
/// <param name="data">Data buffer.</param>

View File

@@ -92,6 +92,15 @@ public sealed class SpamSumContext : IChecksum
#region IChecksum Members
/// <inheritdoc />
public string Name => Localization.SpamSum_Name;
/// <inheritdoc />
public Guid Id => new("DA692981-3291-47D8-B8B9-A87F0605F6E9");
/// <inheritdoc />
public string Author => Authors.NataliaPortillo;
/// <inheritdoc />
/// <summary>Updates the hash with data.</summary>
/// <param name="data">Data buffer.</param>