Kody źródłowe/Md5

Z Wikibooks, biblioteki wolnych podręczników.
Przejdź do nawigacji Przejdź do wyszukiwania
Md5
kod źródłowy do aplikacji konsolowej

C#[edytuj]

Kod do aplikacji konsolowej.
Aplikacja jako parametr przyjmuje nazwę pliku (lub ścieżkę do niego) wypisując następnie MD5 tego pliku w postaci heksadecymalnej.

using System;
using System.Runtime.Remoting.Metadata.W3cXsd2001;
using System.Collections.Generic;
using System.Text;
using System.IO;
using System.Security.Cryptography;

namespace Digest
{
    class Program
    {
        static void Main(string[] args)
        {
            try
            {
                if (args.Length == 0)
                    throw new Exception("No args provided");  // Jeśli nie podano argumentu (nazwy pliku) wyrzuć błąd
                string file = args[0];
                if (!File.Exists(file)) 
                    throw new Exception("File " + file + " doesn't exist.");  // Jeśli plik nie istnieje wyrzuć błąd
                Stream inputStream = File.OpenRead(file); // Otwiera plik do czytania
                HashAlgorithm algorithm = MD5.Create();
                byte[] hash = algorithm.ComputeHash(inputStream);  // Wyliczenie MD5 otwartego pliku
                SoapHexBinary output = new SoapHexBinary(hash); // Zamiana hashu z postaci dziesiętnej na heksadecymalną
                Console.Write(output); // Wypisanie hashu na ekran
            }
            catch (Exception e)
            {
                Console.WriteLine("Error: " + e.Message);
                Environment.Exit(1);
            }
        }
    }
}