Я создал простую программу на C #, которая может хэшировать файл (я концентрируюсь на изображениях, в отличие от PDF, текста и т. Д.), Который отображает хеш только в командной строке.Я создам функцию для вывода файла (не знаете, какого типа?), Чтобы на него можно было ссылаться позже.
Идея состоит в том, что изображение будет перемещаться из одного места в другое, и как только оно достигнет второго пункта назначенияэто будет проверено программой хэширования еще раз, найдет связанный с ним хеш-файл, сравнит его и затем выдаст результат (т. е. он идентичен или нет).Код, который у меня есть, не очень актуален, поэтому я и не опубликовал его - в основном я просто ищу советы / подсказки или любую документацию, которая может быть здесь полезна!
Заранее спасибо.
Редактировать: код важен, поэтому вот он
using System;
using System.IO;
using System.Security.Cryptography;
class Hash
{
static void Main(string[] args)
{
if (args.Length != 2)
{
byte[] hashValue = null;
if (!File.Exists(args[1]))
{
try
{
FileStream fileStream = File.OpenRead(args[1]);
fileStream.Position = 0;
switch (args[0].ToUpper())
{
case "SHA512":
// Compute the SHA512 hash of the fileStream.
hashValue = SHA512.Create().ComputeHash(fileStream);
return;
}
if (hashValue != null)
{
PrintHashData(args[0].ToUpper(), fileStream.Name, hashValue);
}
fileStream.Close();
}
catch (Exception ex)
{
Console.WriteLine("Error: {0}", ex.Message);
}
}
}
}
private static void PrintHashData(string algorithm, string fileName, byte[] array)
{
Console.Write("File: {0}\r\n{1} Hash: ", fileName, algorithm);
for (int i = 0; i < array.Length; i++)
{
Console.Write(String.Format("{0:X2}", array[i]));
}
Console.WriteLine();
}
}