diff --git a/DiscImageChef.Checksums.csproj b/DiscImageChef.Checksums.csproj index ac123a56f..8c3bea870 100644 --- a/DiscImageChef.Checksums.csproj +++ b/DiscImageChef.Checksums.csproj @@ -56,7 +56,6 @@ - diff --git a/RIPEMD160Context.cs b/RIPEMD160Context.cs deleted file mode 100644 index 91663985a..000000000 --- a/RIPEMD160Context.cs +++ /dev/null @@ -1,156 +0,0 @@ -// /*************************************************************************** -// The Disc Image Chef -// ---------------------------------------------------------------------------- -// -// Filename : RIPEMD160Context.cs -// Author(s) : Natalia Portillo -// -// Component : Checksums. -// -// --[ Description ] ---------------------------------------------------------- -// -// Wraps up .NET RIPEMD160 implementation to a Init(), Update(), Final() context. -// -// --[ License ] -------------------------------------------------------------- -// -// This library is free software; you can redistribute it and/or modify -// it under the terms of the GNU Lesser General Public License as -// published by the Free Software Foundation; either version 2.1 of the -// License, or (at your option) any later version. -// -// This library is distributed in the hope that it will be useful, but -// WITHOUT ANY WARRANTY; without even the implied warranty of -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -// Lesser General Public License for more details. -// -// You should have received a copy of the GNU Lesser General Public -// License along with this library; if not, see . -// -// ---------------------------------------------------------------------------- -// Copyright © 2011-2019 Natalia Portillo -// ****************************************************************************/ - -#if !NETSTANDARD2_0 - -using System.IO; -using System.Security.Cryptography; -using System.Text; -using DiscImageChef.CommonTypes.Interfaces; - -namespace DiscImageChef.Checksums -{ - /// - /// Wraps up .NET RIPEMD160 implementation to a Init(), Update(), Final() context. - /// - public class Ripemd160Context : IChecksum - { - RIPEMD160 ripemd160Provider; - - /// - /// Initializes the RIPEMD160 hash provider - /// - public Ripemd160Context() - { - ripemd160Provider = RIPEMD160.Create(); - } - - /// - /// Updates the hash with data. - /// - /// Data buffer. - /// Length of buffer to hash. - public void Update(byte[] data, uint len) - { - ripemd160Provider.TransformBlock(data, 0, (int)len, data, 0); - } - - /// - /// Updates the hash with data. - /// - /// Data buffer. - public void Update(byte[] data) - { - Update(data, (uint)data.Length); - } - - /// - /// Returns a byte array of the hash value. - /// - public byte[] Final() - { - ripemd160Provider.TransformFinalBlock(new byte[0], 0, 0); - return ripemd160Provider.Hash; - } - - /// - /// Returns a hexadecimal representation of the hash value. - /// - public string End() - { - ripemd160Provider.TransformFinalBlock(new byte[0], 0, 0); - StringBuilder ripemd160Output = new StringBuilder(); - - foreach(byte h in ripemd160Provider.Hash) ripemd160Output.Append(h.ToString("x2")); - - return ripemd160Output.ToString(); - } - - /// - /// Gets the hash of a file - /// - /// File path. - public static byte[] File(string filename) - { - RIPEMD160 localRipemd160Provider = RIPEMD160.Create(); - FileStream fileStream = new FileStream(filename, FileMode.Open); - byte[] result = localRipemd160Provider.ComputeHash(fileStream); - fileStream.Close(); - return result; - } - - /// - /// Gets the hash of a file in hexadecimal and as a byte array. - /// - /// File path. - /// Byte array of the hash value. - public static string File(string filename, out byte[] hash) - { - RIPEMD160 localRipemd160Provider = RIPEMD160.Create(); - FileStream fileStream = new FileStream(filename, FileMode.Open); - hash = localRipemd160Provider.ComputeHash(fileStream); - StringBuilder ripemd160Output = new StringBuilder(); - - foreach(byte h in hash) ripemd160Output.Append(h.ToString("x2")); - - fileStream.Close(); - - return ripemd160Output.ToString(); - } - - /// - /// Gets the hash of the specified data buffer. - /// - /// Data buffer. - /// Length of the data buffer to hash. - /// Byte array of the hash value. - public static string Data(byte[] data, uint len, out byte[] hash) - { - RIPEMD160 localRipemd160Provider = RIPEMD160.Create(); - hash = localRipemd160Provider.ComputeHash(data, 0, (int)len); - StringBuilder ripemd160Output = new StringBuilder(); - - foreach(byte h in hash) ripemd160Output.Append(h.ToString("x2")); - - return ripemd160Output.ToString(); - } - - /// - /// Gets the hash of the specified data buffer. - /// - /// Data buffer. - /// Byte array of the hash value. - public static string Data(byte[] data, out byte[] hash) => Data(data, (uint)data.Length, out hash); - } -} - -#endif \ No newline at end of file