mirror of
https://github.com/SabreTools/SabreTools.Hashing.git
synced 2026-07-08 18:06:40 +00:00
Message digests are cryptographic hashes
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
internal static class Constants
|
||||
{
|
||||
@@ -1,7 +1,7 @@
|
||||
using System;
|
||||
using static SabreTools.Hashing.MessageDigest.Constants;
|
||||
using static SabreTools.Hashing.CryptographicHash.Constants;
|
||||
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <see href="https://datatracker.ietf.org/doc/html/rfc1115"/>
|
||||
public class MD2 : MessageDigestBase<uint>
|
||||
@@ -1,8 +1,8 @@
|
||||
using System;
|
||||
using static SabreTools.Hashing.CryptographicHash.Constants;
|
||||
using static SabreTools.Hashing.HashOperations;
|
||||
using static SabreTools.Hashing.MessageDigest.Constants;
|
||||
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <see href="https://datatracker.ietf.org/doc/html/rfc1320"/>
|
||||
public class MD4 : MessageDigestBase<uint>
|
||||
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
public abstract class MessageDigestBase : System.Security.Cryptography.HashAlgorithm
|
||||
{
|
||||
@@ -1,8 +1,8 @@
|
||||
using System;
|
||||
using static SabreTools.Hashing.CryptographicHash.Constants;
|
||||
using static SabreTools.Hashing.HashOperations;
|
||||
using static SabreTools.Hashing.MessageDigest.Constants;
|
||||
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <see href="https://cdn.standards.iteh.ai/samples/39876/10f9f9f4bb614eaaaeba7e157e183ca3/ISO-IEC-10118-3-2004.pdf"/>
|
||||
/// <see href="https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf"/>
|
||||
@@ -1,8 +1,8 @@
|
||||
using System;
|
||||
using static SabreTools.Hashing.CryptographicHash.Constants;
|
||||
using static SabreTools.Hashing.HashOperations;
|
||||
using static SabreTools.Hashing.MessageDigest.Constants;
|
||||
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <see href="https://cdn.standards.iteh.ai/samples/39876/10f9f9f4bb614eaaaeba7e157e183ca3/ISO-IEC-10118-3-2004.pdf"/>
|
||||
/// <see href="https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf"/>
|
||||
@@ -1,8 +1,8 @@
|
||||
using System;
|
||||
using static SabreTools.Hashing.CryptographicHash.Constants;
|
||||
using static SabreTools.Hashing.HashOperations;
|
||||
using static SabreTools.Hashing.MessageDigest.Constants;
|
||||
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <see href="https://cdn.standards.iteh.ai/samples/39876/10f9f9f4bb614eaaaeba7e157e183ca3/ISO-IEC-10118-3-2004.pdf"/>
|
||||
/// <see href="https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf"/>
|
||||
@@ -1,8 +1,8 @@
|
||||
using System;
|
||||
using static SabreTools.Hashing.CryptographicHash.Constants;
|
||||
using static SabreTools.Hashing.HashOperations;
|
||||
using static SabreTools.Hashing.MessageDigest.Constants;
|
||||
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <see href="https://cdn.standards.iteh.ai/samples/39876/10f9f9f4bb614eaaaeba7e157e183ca3/ISO-IEC-10118-3-2004.pdf"/>
|
||||
/// <see href="https://homes.esat.kuleuven.be/~bosselae/ripemd160/pdf/AB-9601/AB-9601.pdf"/>
|
||||
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <summary>
|
||||
/// 3-pass variant of Tiger-128
|
||||
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <summary>
|
||||
/// 4-pass variant of Tiger-128
|
||||
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <summary>
|
||||
/// 3-pass variant of Tiger-160
|
||||
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <summary>
|
||||
/// 4-pass variant of Tiger-160
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <summary>
|
||||
/// 3-pass variant of Tiger-192
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <summary>
|
||||
/// 4-pass variant of Tiger-192
|
||||
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <summary>
|
||||
/// 3-pass variant of Tiger2-128
|
||||
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <summary>
|
||||
/// 4-pass variant of Tiger2-128
|
||||
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <summary>
|
||||
/// 3-pass variant of Tiger2-160
|
||||
@@ -1,6 +1,6 @@
|
||||
using System;
|
||||
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <summary>
|
||||
/// 4-pass variant of Tiger2-160
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <summary>
|
||||
/// 3-pass variant of Tiger2-192
|
||||
@@ -1,4 +1,4 @@
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <summary>
|
||||
/// 4-pass variant of Tiger2-192
|
||||
@@ -1,8 +1,8 @@
|
||||
using System;
|
||||
using static SabreTools.Hashing.CryptographicHash.Constants;
|
||||
using static SabreTools.Hashing.HashOperations;
|
||||
using static SabreTools.Hashing.MessageDigest.Constants;
|
||||
|
||||
namespace SabreTools.Hashing.MessageDigest
|
||||
namespace SabreTools.Hashing.CryptographicHash
|
||||
{
|
||||
/// <see href="https://biham.cs.technion.ac.il/Reports/Tiger//>
|
||||
public abstract class TigerHashBase : MessageDigestBase<ulong>
|
||||
@@ -280,14 +280,14 @@ namespace SabreTools.Hashing
|
||||
HashType.FNV1a_32 => new FNV1a_32(),
|
||||
HashType.FNV1a_64 => new FNV1a_64(),
|
||||
|
||||
HashType.MD2 => new MessageDigest.MD2(),
|
||||
HashType.MD4 => new MessageDigest.MD4(),
|
||||
HashType.MD2 => new CryptographicHash.MD2(),
|
||||
HashType.MD4 => new CryptographicHash.MD4(),
|
||||
HashType.MD5 => MD5.Create(),
|
||||
|
||||
HashType.RIPEMD128 => new MessageDigest.RipeMD128(),
|
||||
HashType.RIPEMD160 => new MessageDigest.RipeMD160(),
|
||||
HashType.RIPEMD256 => new MessageDigest.RipeMD256(),
|
||||
HashType.RIPEMD320 => new MessageDigest.RipeMD320(),
|
||||
HashType.RIPEMD128 => new CryptographicHash.RipeMD128(),
|
||||
HashType.RIPEMD160 => new CryptographicHash.RipeMD160(),
|
||||
HashType.RIPEMD256 => new CryptographicHash.RipeMD256(),
|
||||
HashType.RIPEMD320 => new CryptographicHash.RipeMD320(),
|
||||
|
||||
HashType.SHA1 => SHA1.Create(),
|
||||
HashType.SHA256 => SHA256.Create(),
|
||||
@@ -303,18 +303,18 @@ namespace SabreTools.Hashing
|
||||
|
||||
HashType.SpamSum => new SpamSumContext(),
|
||||
|
||||
HashType.Tiger128_3 => new MessageDigest.Tiger128_3(),
|
||||
HashType.Tiger128_4 => new MessageDigest.Tiger128_4(),
|
||||
HashType.Tiger160_3 => new MessageDigest.Tiger160_3(),
|
||||
HashType.Tiger160_4 => new MessageDigest.Tiger160_4(),
|
||||
HashType.Tiger192_3 => new MessageDigest.Tiger192_3(),
|
||||
HashType.Tiger192_4 => new MessageDigest.Tiger192_4(),
|
||||
HashType.Tiger2_128_3 => new MessageDigest.Tiger2_128_3(),
|
||||
HashType.Tiger2_128_4 => new MessageDigest.Tiger2_128_4(),
|
||||
HashType.Tiger2_160_3 => new MessageDigest.Tiger2_160_3(),
|
||||
HashType.Tiger2_160_4 => new MessageDigest.Tiger2_160_4(),
|
||||
HashType.Tiger2_192_3 => new MessageDigest.Tiger2_192_3(),
|
||||
HashType.Tiger2_192_4 => new MessageDigest.Tiger2_192_4(),
|
||||
HashType.Tiger128_3 => new CryptographicHash.Tiger128_3(),
|
||||
HashType.Tiger128_4 => new CryptographicHash.Tiger128_4(),
|
||||
HashType.Tiger160_3 => new CryptographicHash.Tiger160_3(),
|
||||
HashType.Tiger160_4 => new CryptographicHash.Tiger160_4(),
|
||||
HashType.Tiger192_3 => new CryptographicHash.Tiger192_3(),
|
||||
HashType.Tiger192_4 => new CryptographicHash.Tiger192_4(),
|
||||
HashType.Tiger2_128_3 => new CryptographicHash.Tiger2_128_3(),
|
||||
HashType.Tiger2_128_4 => new CryptographicHash.Tiger2_128_4(),
|
||||
HashType.Tiger2_160_3 => new CryptographicHash.Tiger2_160_3(),
|
||||
HashType.Tiger2_160_4 => new CryptographicHash.Tiger2_160_4(),
|
||||
HashType.Tiger2_192_3 => new CryptographicHash.Tiger2_192_3(),
|
||||
HashType.Tiger2_192_4 => new CryptographicHash.Tiger2_192_4(),
|
||||
|
||||
HashType.XxHash32 => new NonCryptographicHash.XxHash32(),
|
||||
HashType.XxHash64 => new NonCryptographicHash.XxHash64(),
|
||||
|
||||
Reference in New Issue
Block a user