ハッシュ値を計算するコード
以前調べていた、.netを使ってMD5やSHA1を計算する方法でプログラムを書いた。急作りなのでコード内にファイルパスが入っている。
これを、hash.csなどの名前で保存して、
csc hash.cs
とすれば、MD5を計算するツールが完成する。たったこれっぽっちのソースでっ!?
using System;
using System.Security.Cryptography;
using System.Text;
using System.IO;class HelloClass
{
static string ByteArrayToString(byte[] arrInput)
{
int i;
StringBuilder sOutput = new StringBuilder(arrInput.Length);
for (i=0;i < arrInput.Length; i++)
{
sOutput.Append(arrInput[i].ToString("x2"));
}
return sOutput.ToString();
}
static void Main()
{
string path = @"*************ファイルパス*****************";
FileStream fs = File.OpenRead(path);
MD5 md5 = new MD5CryptoServiceProvider();
SHA1 sha1 = new SHA1CryptoServiceProvider();
byte[] result = md5.ComputeHash(fs);
Console.Write("MD5: ");
Console.WriteLine(ByteArrayToString(result));
result = sha1.ComputeHash(fs);
Console.Write("SHA1: ");
Console.WriteLine(ByteArrayToString(result));
}
}