mirror of
https://github.com/wismna/ModernKeePass.git
synced 2025-10-03 23:50:18 -04:00
32 lines
743 B
C#
32 lines
743 B
C#
using System;
|
|
using Org.BouncyCastle.Crypto;
|
|
|
|
namespace ModernKeePassLib.Cryptography.Hash
|
|
{
|
|
public abstract class DigestManaged: IDisposable
|
|
{
|
|
protected IDigest Hash;
|
|
|
|
public byte[] ComputeHash(byte[] value)
|
|
{
|
|
return ComputeHash(value, 0, value.Length);
|
|
}
|
|
|
|
public byte[] ComputeHash(byte[] value, int offset, int length)
|
|
{
|
|
if (value == null) throw new ArgumentNullException(nameof(value));
|
|
|
|
byte[] resBuf = new byte[Hash.GetByteLength()];
|
|
Hash.BlockUpdate(value, 0, length);
|
|
Hash.DoFinal(resBuf, 0);
|
|
|
|
return resBuf;
|
|
}
|
|
|
|
public void Dispose()
|
|
{
|
|
Hash.Reset();
|
|
}
|
|
}
|
|
}
|