From 337c4967c9539b26c5bdb421f07b116161b16340 Mon Sep 17 00:00:00 2001 From: Natalia Portillo Date: Sat, 13 Jul 2019 23:08:50 +0100 Subject: [PATCH] Remove RIPEMD160. --- .../.idea/contentModel.xml | 2 - .../DiscImageChef.Checksums.csproj | 1 - DiscImageChef.Checksums/RIPEMD160Context.cs | 156 ------------------ DiscImageChef.Core/Benchmark.cs | 36 ---- DiscImageChef.Core/Checksum.cs | 73 +------- DiscImageChef.Gui/Forms/frmImageChecksum.xeto | 1 - .../Forms/frmImageChecksum.xeto.cs | 8 - DiscImageChef.Tests/Checksums/RIPEMD160.cs | 120 -------------- .../DiscImageChef.Tests.csproj | 1 - DiscImageChef/Commands/Checksum.cs | 4 - 10 files changed, 1 insertion(+), 401 deletions(-) delete mode 100644 DiscImageChef.Checksums/RIPEMD160Context.cs delete mode 100644 DiscImageChef.Tests/Checksums/RIPEMD160.cs diff --git a/.idea/.idea.DiscImageChef/.idea/contentModel.xml b/.idea/.idea.DiscImageChef/.idea/contentModel.xml index 3b4f0e4d3..aee2f2c8b 100644 --- a/.idea/.idea.DiscImageChef/.idea/contentModel.xml +++ b/.idea/.idea.DiscImageChef/.idea/contentModel.xml @@ -77,7 +77,6 @@ - @@ -2075,7 +2074,6 @@ - diff --git a/DiscImageChef.Checksums/DiscImageChef.Checksums.csproj b/DiscImageChef.Checksums/DiscImageChef.Checksums.csproj index ac123a56f..8c3bea870 100644 --- a/DiscImageChef.Checksums/DiscImageChef.Checksums.csproj +++ b/DiscImageChef.Checksums/DiscImageChef.Checksums.csproj @@ -56,7 +56,6 @@ - diff --git a/DiscImageChef.Checksums/RIPEMD160Context.cs b/DiscImageChef.Checksums/RIPEMD160Context.cs deleted file mode 100644 index 91663985a..000000000 --- a/DiscImageChef.Checksums/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 diff --git a/DiscImageChef.Core/Benchmark.cs b/DiscImageChef.Core/Benchmark.cs index 8042341b4..67b7fb9aa 100644 --- a/DiscImageChef.Core/Benchmark.cs +++ b/DiscImageChef.Core/Benchmark.cs @@ -361,42 +361,6 @@ namespace DiscImageChef.Core results.SeparateTime += (end - start).TotalSeconds; #endregion MD5 - #if !NETSTANDARD2_0 - - #region RIPEMD160 - ctx = new Ripemd160Context(); - ms.Seek(0, SeekOrigin.Begin); - mem = GC.GetTotalMemory(false); - if(mem > results.MaxMemory) results.MaxMemory = mem; - if(mem < results.MinMemory) results.MinMemory = mem; - start = DateTime.Now; - InitProgress(); - for(int i = 0; i < bufferSize / blockSize; i++) - { - UpdateProgress("Checksumming block {0} of {1} with RIPEMD160.", i + 1, bufferSize / blockSize); - byte[] tmp = new byte[blockSize]; - ms.Read(tmp, 0, blockSize); - ctx.Update(tmp); - } - - EndProgress(); - ctx.End(); - end = DateTime.Now; - mem = GC.GetTotalMemory(false); - if(mem > results.MaxMemory) results.MaxMemory = mem; - if(mem < results.MinMemory) results.MinMemory = mem; - - results.Entries.Add("RIPEMD160", - new BenchmarkEntry - { - TimeSpan = (end - start).TotalSeconds, - Speed = bufferSize / 1048576.0 / (end - start).TotalSeconds - }); - results.SeparateTime += (end - start).TotalSeconds; - #endregion RIPEMD160 - - #endif - #region SHA1 ctx = new Sha1Context(); ms.Seek(0, SeekOrigin.Begin); diff --git a/DiscImageChef.Core/Checksum.cs b/DiscImageChef.Core/Checksum.cs index 2dfa2b034..398baa4fd 100644 --- a/DiscImageChef.Core/Checksum.cs +++ b/DiscImageChef.Core/Checksum.cs @@ -47,9 +47,6 @@ namespace DiscImageChef.Core Crc32 = 4, Crc64 = 8, Md5 = 16, - #if !NETSTANDARD2_0 - Ripemd160 = 32, - #endif Sha1 = 64, Sha256 = 128, Sha384 = 256, @@ -57,11 +54,7 @@ namespace DiscImageChef.Core SpamSum = 1024, Fletcher16 = 2048, Fletcher32 = 4096, - All = Adler32 | Crc16 | Crc32 | Crc64 | Md5 | - #if !NETSTANDARD2_0 - Ripemd160 | - #endif - Sha1 | Sha256 | Sha384 | Sha512 | SpamSum | Fletcher16 | Fletcher32 + All = Adler32 | Crc16 | Crc32 | Crc64 | Md5 | Sha1 | Sha256 | Sha384 | Sha512 | SpamSum | Fletcher16 | Fletcher32 } /// @@ -141,14 +134,6 @@ namespace DiscImageChef.Core md5Pkt = new HashPacket {Context = md5Ctx}; } - #if !NETSTANDARD2_0 - if(enabled.HasFlag(EnableChecksum.Ripemd160)) - { - ripemd160Ctx = new Ripemd160Context(); - ripemd160Pkt = new HashPacket {Context = ripemd160Ctx}; - } - #endif - if(enabled.HasFlag(EnableChecksum.Sha1)) { sha1Ctx = new Sha1Context(); @@ -196,9 +181,6 @@ namespace DiscImageChef.Core crc32Thread = new Thread(UpdateHash); crc64Thread = new Thread(UpdateHash); md5Thread = new Thread(UpdateHash); - #if !NETSTANDARD2_0 - ripemd160Thread = new Thread(UpdateHash); - #endif sha1Thread = new Thread(UpdateHash); sha256Thread = new Thread(UpdateHash); sha384Thread = new Thread(UpdateHash); @@ -240,14 +222,6 @@ namespace DiscImageChef.Core md5Thread.Start(md5Pkt); } - #if !NETSTANDARD2_0 - if(enabled.HasFlag(EnableChecksum.Ripemd160)) - { - ripemd160Pkt.Data = data; - ripemd160Thread.Start(ripemd160Pkt); - } - #endif - if(enabled.HasFlag(EnableChecksum.Sha1)) { sha1Pkt.Data = data; @@ -292,9 +266,6 @@ namespace DiscImageChef.Core while(adlerThread.IsAlive || crc16Thread.IsAlive || crc32Thread.IsAlive || crc64Thread.IsAlive || md5Thread.IsAlive || - #if !NETSTANDARD2_0 - ripemd160Thread.IsAlive || - #endif sha1Thread.IsAlive || sha256Thread.IsAlive || sha384Thread.IsAlive || sha512Thread.IsAlive || spamsumThread.IsAlive || f16Thread.IsAlive || f32Thread.IsAlive) { } @@ -303,9 +274,6 @@ namespace DiscImageChef.Core if(enabled.HasFlag(EnableChecksum.SpamSum)) crc32Thread = new Thread(UpdateHash); if(enabled.HasFlag(EnableChecksum.SpamSum)) crc64Thread = new Thread(UpdateHash); if(enabled.HasFlag(EnableChecksum.SpamSum)) md5Thread = new Thread(UpdateHash); - #if !NETSTANDARD2_0 - if(enabled.HasFlag(EnableChecksum.SpamSum)) ripemd160Thread = new Thread(UpdateHash); - #endif if(enabled.HasFlag(EnableChecksum.SpamSum)) sha1Thread = new Thread(UpdateHash); if(enabled.HasFlag(EnableChecksum.SpamSum)) sha256Thread = new Thread(UpdateHash); if(enabled.HasFlag(EnableChecksum.SpamSum)) sha384Thread = new Thread(UpdateHash); @@ -351,14 +319,6 @@ namespace DiscImageChef.Core chks.Add(chk); } - #if !NETSTANDARD2_0 - if(enabled.HasFlag(EnableChecksum.Ripemd160)) - { - chk = new ChecksumType {type = ChecksumTypeType.ripemd160, Value = ripemd160Ctx.End()}; - chks.Add(chk); - } - #endif - if(enabled.HasFlag(EnableChecksum.Sha1)) { chk = new ChecksumType {type = ChecksumTypeType.sha1, Value = sha1Ctx.End()}; @@ -410,9 +370,6 @@ namespace DiscImageChef.Core IChecksum crc32CtxData = null; IChecksum crc64CtxData = null; IChecksum md5CtxData = null; - #if !NETSTANDARD2_0 - IChecksum ripemd160CtxData = null; - #endif IChecksum sha1CtxData = null; IChecksum sha256CtxData = null; IChecksum sha384CtxData = null; @@ -426,9 +383,6 @@ namespace DiscImageChef.Core Thread crc32ThreadData = new Thread(UpdateHash); Thread crc64ThreadData = new Thread(UpdateHash); Thread md5ThreadData = new Thread(UpdateHash); - #if !NETSTANDARD2_0 - Thread ripemd160ThreadData = new Thread(UpdateHash); - #endif Thread sha1ThreadData = new Thread(UpdateHash); Thread sha256ThreadData = new Thread(UpdateHash); Thread sha384ThreadData = new Thread(UpdateHash); @@ -472,15 +426,6 @@ namespace DiscImageChef.Core md5ThreadData.Start(md5PktData); } - #if !NETSTANDARD2_0 - if(enabled.HasFlag(EnableChecksum.Ripemd160)) - { - ripemd160CtxData = new Ripemd160Context(); - HashPacket ripemd160PktData = new HashPacket {Context = ripemd160CtxData, Data = data}; - ripemd160ThreadData.Start(ripemd160PktData); - } - #endif - if(enabled.HasFlag(EnableChecksum.Sha1)) { sha1CtxData = new Sha1Context(); @@ -532,9 +477,6 @@ namespace DiscImageChef.Core while(adlerThreadData.IsAlive || crc16ThreadData.IsAlive || crc32ThreadData.IsAlive || crc64ThreadData.IsAlive || md5ThreadData.IsAlive || - #if !NETSTANDARD2_0 - ripemd160ThreadData.IsAlive || - #endif sha1ThreadData.IsAlive || sha256ThreadData.IsAlive || sha384ThreadData.IsAlive || sha512ThreadData.IsAlive || spamsumThreadData.IsAlive || f16ThreadData.IsAlive || f32ThreadData.IsAlive) { } @@ -572,14 +514,6 @@ namespace DiscImageChef.Core dataChecksums.Add(chk); } - #if !NETSTANDARD2_0 - if(enabled.HasFlag(EnableChecksum.Ripemd160)) - { - chk = new ChecksumType {type = ChecksumTypeType.ripemd160, Value = ripemd160CtxData.End()}; - dataChecksums.Add(chk); - } - #endif - if(enabled.HasFlag(EnableChecksum.Sha1)) { chk = new ChecksumType {type = ChecksumTypeType.sha1, Value = sha1CtxData.End()}; @@ -624,11 +558,6 @@ namespace DiscImageChef.Core return dataChecksums; } - #if !NETSTANDARD2_0 - IChecksum ripemd160Ctx; - HashPacket ripemd160Pkt; - Thread ripemd160Thread; - #endif #region Threading helpers struct HashPacket diff --git a/DiscImageChef.Gui/Forms/frmImageChecksum.xeto b/DiscImageChef.Gui/Forms/frmImageChecksum.xeto index 42444b153..52125582e 100644 --- a/DiscImageChef.Gui/Forms/frmImageChecksum.xeto +++ b/DiscImageChef.Gui/Forms/frmImageChecksum.xeto @@ -45,7 +45,6 @@ - diff --git a/DiscImageChef.Gui/Forms/frmImageChecksum.xeto.cs b/DiscImageChef.Gui/Forms/frmImageChecksum.xeto.cs index 1c9830b44..98dc0c3a2 100644 --- a/DiscImageChef.Gui/Forms/frmImageChecksum.xeto.cs +++ b/DiscImageChef.Gui/Forms/frmImageChecksum.xeto.cs @@ -59,9 +59,6 @@ namespace DiscImageChef.Gui.Forms chkChecksumTracks.Checked = chkChecksumTracks.Visible; chkChecksumMedia.Visible = chkChecksumTracks.Visible; - #if NETSTANDARD2_0 - chkRipemd160.Visible = false; - #endif } protected void OnBtnStart(object sender, EventArgs e) @@ -75,7 +72,6 @@ namespace DiscImageChef.Gui.Forms chkFletcher16.Enabled = false; chkFletcher32.Enabled = false; chkMd5.Enabled = false; - chkRipemd160.Enabled = false; chkSha1.Enabled = false; chkSha256.Enabled = false; chkSha384.Enabled = false; @@ -123,9 +119,6 @@ namespace DiscImageChef.Gui.Forms if(chkCrc32.Checked == true) enabledChecksums |= EnableChecksum.Crc32; if(chkCrc64.Checked == true) enabledChecksums |= EnableChecksum.Crc64; if(chkMd5.Checked == true) enabledChecksums |= EnableChecksum.Md5; - #if !NETSTANDARD2_0 - if(chkRipemd160.Checked == true) enabledChecksums |= EnableChecksum.Ripemd160; - #endif if(chkSha1.Checked == true) enabledChecksums |= EnableChecksum.Sha1; if(chkSha256.Checked == true) enabledChecksums |= EnableChecksum.Sha256; if(chkSha384.Checked == true) enabledChecksums |= EnableChecksum.Sha384; @@ -399,7 +392,6 @@ namespace DiscImageChef.Gui.Forms CheckBox chkFletcher16; CheckBox chkFletcher32; CheckBox chkMd5; - CheckBox chkRipemd160; CheckBox chkSha1; CheckBox chkSha256; CheckBox chkSha384; diff --git a/DiscImageChef.Tests/Checksums/RIPEMD160.cs b/DiscImageChef.Tests/Checksums/RIPEMD160.cs deleted file mode 100644 index f5ad35f81..000000000 --- a/DiscImageChef.Tests/Checksums/RIPEMD160.cs +++ /dev/null @@ -1,120 +0,0 @@ -// /*************************************************************************** -// The Disc Image Chef -// ---------------------------------------------------------------------------- -// -// Filename : RIPEMD160.cs -// Author(s) : Natalia Portillo -// -// Component : DiscImageChef unit testing. -// -// --[ License ] -------------------------------------------------------------- -// -// This program is free software: you can redistribute it and/or modify -// it under the terms of the GNU General Public License as -// published by the Free Software Foundation, either version 3 of the -// License, or (at your option) any later version. -// -// This program 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 General Public License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program. If not, see . -// -// ---------------------------------------------------------------------------- -// Copyright © 2011-2019 Natalia Portillo -// ****************************************************************************/ - -using System.IO; -using DiscImageChef.Checksums; -using DiscImageChef.CommonTypes.Interfaces; -using NUnit.Framework; - -namespace DiscImageChef.Tests.Checksums -{ - [TestFixture] - public class Ripemd160 - { - static readonly byte[] ExpectedEmpty = - { - 0x59, 0xf4, 0x4e, 0x7d, 0xaf, 0xba, 0xe0, 0xfa, 0x30, 0x15, 0xc1, 0x96, 0x41, 0xc5, 0xa5, 0xaf, 0x2d, - 0x93, 0x99, 0x8d - }; - static readonly byte[] ExpectedRandom = - { - 0x2a, 0x7b, 0x6c, 0x0e, 0xc1, 0x80, 0xce, 0x6a, 0xe2, 0xfd, 0x77, 0xb4, 0xe0, 0xb6, 0x80, 0xc5, 0xd9, - 0x9f, 0xf6, 0x7b - }; - - [Test] - public void Ripemd160EmptyFile() - { - byte[] result = Ripemd160Context.File(Path.Combine(Consts.TestFilesRoot, "checksums", "empty")); - Assert.AreEqual(ExpectedEmpty, result); - } - - [Test] - public void Ripemd160EmptyData() - { - byte[] data = new byte[1048576]; - FileStream fs = new FileStream(Path.Combine(Consts.TestFilesRoot, "checksums", "empty"), FileMode.Open, - FileAccess.Read); - fs.Read(data, 0, 1048576); - fs.Close(); - fs.Dispose(); - Ripemd160Context.Data(data, out byte[] result); - Assert.AreEqual(ExpectedEmpty, result); - } - - [Test] - public void Ripemd160EmptyInstance() - { - byte[] data = new byte[1048576]; - FileStream fs = new FileStream(Path.Combine(Consts.TestFilesRoot, "checksums", "empty"), FileMode.Open, - FileAccess.Read); - fs.Read(data, 0, 1048576); - fs.Close(); - fs.Dispose(); - IChecksum ctx = new Ripemd160Context(); - ctx.Update(data); - byte[] result = ctx.Final(); - Assert.AreEqual(ExpectedEmpty, result); - } - - [Test] - public void Ripemd160RandomFile() - { - byte[] result = Ripemd160Context.File(Path.Combine(Consts.TestFilesRoot, "checksums", "random")); - Assert.AreEqual(ExpectedRandom, result); - } - - [Test] - public void Ripemd160RandomData() - { - byte[] data = new byte[1048576]; - FileStream fs = new FileStream(Path.Combine(Consts.TestFilesRoot, "checksums", "random"), FileMode.Open, - FileAccess.Read); - fs.Read(data, 0, 1048576); - fs.Close(); - fs.Dispose(); - Ripemd160Context.Data(data, out byte[] result); - Assert.AreEqual(ExpectedRandom, result); - } - - [Test] - public void Ripemd160RandomInstance() - { - byte[] data = new byte[1048576]; - FileStream fs = new FileStream(Path.Combine(Consts.TestFilesRoot, "checksums", "random"), FileMode.Open, - FileAccess.Read); - fs.Read(data, 0, 1048576); - fs.Close(); - fs.Dispose(); - IChecksum ctx = new Ripemd160Context(); - ctx.Update(data); - byte[] result = ctx.Final(); - Assert.AreEqual(ExpectedRandom, result); - } - } -} \ No newline at end of file diff --git a/DiscImageChef.Tests/DiscImageChef.Tests.csproj b/DiscImageChef.Tests/DiscImageChef.Tests.csproj index fd4ed5fec..d081d93b6 100644 --- a/DiscImageChef.Tests/DiscImageChef.Tests.csproj +++ b/DiscImageChef.Tests/DiscImageChef.Tests.csproj @@ -50,7 +50,6 @@ - diff --git a/DiscImageChef/Commands/Checksum.cs b/DiscImageChef/Commands/Checksum.cs index d992b90a0..9563e3c93 100644 --- a/DiscImageChef/Commands/Checksum.cs +++ b/DiscImageChef/Commands/Checksum.cs @@ -55,7 +55,6 @@ namespace DiscImageChef.Commands bool doFletcher16; bool doFletcher32; bool doMd5 = true; - bool doRipemd160; bool doSha1 = true; bool doSha256; bool doSha384; @@ -83,7 +82,6 @@ namespace DiscImageChef.Commands {"fletcher16", "Calculates Fletcher-16.", b => doFletcher16 = b != null}, {"fletcher32", "Calculates Fletcher-32.", b => doFletcher32 = b != null}, {"md5|m", "Calculates MD5.", b => doMd5 = b != null}, - {"ripemd160", "Calculates RIPEMD160.", b => doRipemd160 = b != null}, {"separated-tracks|t", "Checksums each track separately.", b => separatedTracks = b != null}, {"sha1|s", "Calculates SHA1.", b => doSha1 = b != null}, {"sha256", "Calculates SHA256.", b => doSha256 = b != null}, @@ -133,7 +131,6 @@ namespace DiscImageChef.Commands DicConsole.DebugWriteLine("Checksum command", "--fletcher32={0}", doFletcher32); DicConsole.DebugWriteLine("Checksum command", "--input={0}", inputFile); DicConsole.DebugWriteLine("Checksum command", "--md5={0}", doMd5); - DicConsole.DebugWriteLine("Checksum command", "--ripemd160={0}", doRipemd160); DicConsole.DebugWriteLine("Checksum command", "--separated-tracks={0}", separatedTracks); DicConsole.DebugWriteLine("Checksum command", "--sha1={0}", doSha1); DicConsole.DebugWriteLine("Checksum command", "--sha256={0}", doSha256); @@ -171,7 +168,6 @@ namespace DiscImageChef.Commands if(doCrc32) enabledChecksums |= EnableChecksum.Crc32; if(doCrc64) enabledChecksums |= EnableChecksum.Crc64; if(doMd5) enabledChecksums |= EnableChecksum.Md5; - if(doRipemd160) enabledChecksums |= EnableChecksum.Ripemd160; if(doSha1) enabledChecksums |= EnableChecksum.Sha1; if(doSha256) enabledChecksums |= EnableChecksum.Sha256; if(doSha384) enabledChecksums |= EnableChecksum.Sha384;