X-Git-Url: https://git.novaco.in/?a=blobdiff_plain;f=Novacoin%2FRIPEMD160.cs;h=84ce67f472e9559e26ace223f85a9dfbd280129a;hb=5f1c284906c75b1c579357db468239d47c5b8707;hp=74e25b86dee16f892843d8889dcf77a63c4a199f;hpb=2d8a4c9b2b8b952272a22546154fabb53078bda6;p=NovacoinLibrary.git diff --git a/Novacoin/RIPEMD160.cs b/Novacoin/RIPEMD160.cs index 74e25b8..84ce67f 100644 --- a/Novacoin/RIPEMD160.cs +++ b/Novacoin/RIPEMD160.cs @@ -14,10 +14,9 @@ * along with this program. If not, see . */ - +using Org.BouncyCastle.Crypto.Digests; using System.Collections.Generic; using System.Linq; -using System.Security.Cryptography; namespace Novacoin { @@ -29,23 +28,24 @@ namespace Novacoin /// /// Computes RIPEMD160 hash using managed library /// - private static readonly RIPEMD160Managed _hasher160 = new RIPEMD160Managed(); - + // private static readonly RIPEMD160Managed _hasher160 = new RIPEMD160Managed(); + private static RipeMD160Digest _hasher160 = new RipeMD160Digest(); + // 20 bytes public override int hashSize { - get { return 20; } + get { return _hasher160.GetDigestSize(); } } public RIPEMD160() : base() { } public RIPEMD160(byte[] bytes, int offset = 0) : base(bytes, offset) { } - public RIPEMD160(IEnumerable bytes, int skip = 0) : base(bytes, skip) { } public RIPEMD160(RIPEMD160 h) : base(h) { } - public static RIPEMD160 Compute160(IEnumerable inputBytes) + public static RIPEMD160 Compute160(byte[] inputBytes) { - var dataBytes = inputBytes.ToArray(); - var digest1 = _hasher160.ComputeHash(dataBytes, 0, dataBytes.Length); + var digest1 = new byte[_hasher160.GetDigestSize()]; + _hasher160.BlockUpdate(inputBytes, 0, inputBytes.Length); + _hasher160.DoFinal(digest1, 0); return new RIPEMD160(digest1); }