using System;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
public class Test
{
public static void Main(string[] args)
{
if (args.Length < 1) {
Console.WriteLine("usage: hashlist.exe 入力ファイル [出力ファイル]");
return;
}
var inFile = args[0];
var outFile = args.Length >= 2 ? args[1] : "result.txt";
if (!File.Exists(inFile)) {
Console.WriteLine("Error: 入力ファイルが見つかりません");
return;
}
var sha256 = SHA256.Create();
File.WriteAllLines(outFile,
File.ReadAllLines(args[0])
.Select(_ => BitConverter.ToString(sha256.ComputeHash(Encoding.UTF8.GetBytes(Convert.ToBase64String(Encoding.UTF8.GetBytes(_))))).Replace("-", "").ToLower())
);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uSU87CnVzaW5nIFN5c3RlbS5MaW5xOwp1c2luZyBTeXN0ZW0uU2VjdXJpdHkuQ3J5cHRvZ3JhcGh5Owp1c2luZyBTeXN0ZW0uVGV4dDsKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oc3RyaW5nW10gYXJncykKCXsKCQlpZiAoYXJncy5MZW5ndGggPCAxKSB7CgkJCUNvbnNvbGUuV3JpdGVMaW5lKCJ1c2FnZTogaGFzaGxpc3QuZXhlIOWFpeWKm+ODleOCoeOCpOODqyBb5Ye65Yqb44OV44Kh44Kk44OrXSIpOwoJCQlyZXR1cm47CgkJfQoJCXZhciBpbkZpbGUgPSBhcmdzWzBdOwoJCXZhciBvdXRGaWxlID0gYXJncy5MZW5ndGggPj0gMiA/IGFyZ3NbMV0gOiAicmVzdWx0LnR4dCI7CgkJCgkJaWYgKCFGaWxlLkV4aXN0cyhpbkZpbGUpKSB7CgkJCUNvbnNvbGUuV3JpdGVMaW5lKCJFcnJvcjog5YWl5Yqb44OV44Kh44Kk44Or44GM6KaL44Gk44GL44KK44G+44Gb44KTIik7CgkJCXJldHVybjsKCQl9CgkJdmFyIHNoYTI1NiA9IFNIQTI1Ni5DcmVhdGUoKTsKCQlGaWxlLldyaXRlQWxsTGluZXMob3V0RmlsZSwKCQkJRmlsZS5SZWFkQWxsTGluZXMoYXJnc1swXSkKCQkJLlNlbGVjdChfID0+IEJpdENvbnZlcnRlci5Ub1N0cmluZyhzaGEyNTYuQ29tcHV0ZUhhc2goRW5jb2RpbmcuVVRGOC5HZXRCeXRlcyhDb252ZXJ0LlRvQmFzZTY0U3RyaW5nKEVuY29kaW5nLlVURjguR2V0Qnl0ZXMoXykpKSkpLlJlcGxhY2UoIi0iLCAiIikuVG9Mb3dlcigpKQoJCSk7Cgl9Cn0=