Basic formatting applied. Unnecessary comments have been removed. Suspicious code is covered by TODO.
60 lines
2.2 KiB
C#
60 lines
2.2 KiB
C#
using GostCryptography.Base;
|
||
using GostCryptography.Native;
|
||
using System.Security;
|
||
|
||
namespace GostCryptography.Gost_R3411
|
||
{
|
||
/// <summary>
|
||
/// Реализация алгоритма хэширования ГОСТ Р 34.11-94
|
||
/// </summary>
|
||
public sealed class Gost_R3411_94_HashAlgorithm : Gost_R3411_HashAlgorithm
|
||
{
|
||
/// <summary>
|
||
/// Размер хэша ГОСТ Р 34.11-94
|
||
/// </summary>
|
||
public const int DefaultHashSizeValue = 256;
|
||
|
||
/// <summary>
|
||
/// Наименование алгоритма хэширования ГОСТ Р 34.11-94
|
||
/// </summary>
|
||
public const string AlgorithmNameValue = "urn:ietf:params:xml:ns:cpxmlsec:algorithms:gostr3411";
|
||
|
||
/// <summary>
|
||
/// Устаревшее наименование алгоритма хэширования ГОСТ Р 34.11-94
|
||
/// </summary>
|
||
public const string ObsoleteAlgorithmNameValue = "http://www.w3.org/2001/04/xmldsig-more#gostr3411";
|
||
|
||
/// <summary>
|
||
/// Известные наименования алгоритма хэширования ГОСТ Р 34.11-94
|
||
/// </summary>
|
||
public static readonly string[] KnownAlgorithmNames = { AlgorithmNameValue, ObsoleteAlgorithmNameValue };
|
||
|
||
/// <inheritdoc />
|
||
[SecuritySafeCritical]
|
||
public Gost_R3411_94_HashAlgorithm() : base(DefaultHashSizeValue)
|
||
{
|
||
}
|
||
|
||
/// <inheritdoc />
|
||
[SecuritySafeCritical]
|
||
public Gost_R3411_94_HashAlgorithm(ProviderType providerType) : base(providerType, DefaultHashSizeValue)
|
||
{
|
||
}
|
||
|
||
[SecurityCritical]
|
||
internal Gost_R3411_94_HashAlgorithm(ProviderType providerType, SafeProvHandleImpl providerHandle) : base(providerType, providerHandle, DefaultHashSizeValue)
|
||
{
|
||
}
|
||
|
||
/// <inheritdoc />
|
||
public override string AlgorithmName => AlgorithmNameValue;
|
||
|
||
/// <inheritdoc />
|
||
[SecurityCritical]
|
||
protected override SafeHashHandleImpl CreateHashHandle(SafeProvHandleImpl providerHandle)
|
||
{
|
||
return CryptoApiHelper.CreateHash_3411_94(providerHandle);
|
||
}
|
||
}
|
||
}
|