Correct implementation of SHA512 with WinRT in KeepassLib

This commit is contained in:
2017-10-23 10:29:07 +02:00
committed by BONNEVILLE Geoffroy
parent e95e62f184
commit a11d209280
15 changed files with 101 additions and 120 deletions

View File

@@ -270,11 +270,15 @@ namespace ModernKeePassLib.Cryptography.Hash
Reset();
}
internal byte[] ComputeHash(byte[] pbOutBuffer)
internal byte[] ComputeHash(byte[] value)
{
byte[] result = new byte[pbOutBuffer.Length];
DoFinal(result, 0);
return result;
if (value == null) throw new ArgumentNullException(nameof(value));
byte[] resBuf = new byte[m_cbHashLength];
BlockUpdate(value, 0, value.Length);
DoFinal(resBuf, 0);
return resBuf;
}
}
}

View File

@@ -1,26 +0,0 @@
using System;
using Org.BouncyCastle.Crypto;
namespace ModernKeePassLib.Cryptography.Hash
{
public abstract class DigestManaged : IDisposable
{
protected IDigest _hash;
public byte[] ComputeHash(byte[] value, int offset, int length)
{
if (value == null) throw new ArgumentNullException(nameof(value));
byte[] resBuf = new byte[_hash.GetDigestSize()];
_hash.BlockUpdate(value, offset, length);
_hash.DoFinal(resBuf, 0);
return resBuf;
}
public void Dispose()
{
_hash.Reset();
}
}
}

View File

@@ -1,13 +0,0 @@
using System;
using Org.BouncyCastle.Crypto.Digests;
namespace ModernKeePassLib.Cryptography.Hash
{
public class SHA256Managed : DigestManaged
{
public SHA256Managed()
{
_hash = new Sha256Digest();
}
}
}

View File

@@ -1,13 +0,0 @@
using System;
using Org.BouncyCastle.Crypto.Digests;
namespace ModernKeePassLib.Cryptography.Hash
{
public class SHA512Managed : DigestManaged
{
public SHA512Managed()
{
_hash = new Sha512Digest();
}
}
}