using System;
using System.Globalization;
using System.Reflection;
using System.Security.Cryptography;
using System.Text;
public class Test
{
public static void Main(string[] args)
{
Type type = Type.GetType("Mono.Runtime");
if (type != null)
{
MethodInfo displayName = type.GetMethod("GetDisplayName", BindingFlags.NonPublic | BindingFlags.Static);
if (displayName != null)
{
Console.WriteLine("Mono version: {0}", displayName.Invoke(null, null));
}
}
SHA512 shaM = new SHA512Managed();
byte[] data = shaM.ComputeHash(Encoding.UTF8.GetBytes("password"));
StringBuilder sBuilder = new StringBuilder();
for (int i = 0; i < data.Length; i++)
{
sBuilder.Append(data[i].ToString("x2"));
}
string stringyHash = sBuilder.ToString();
Console.WriteLine(stringyHash);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uR2xvYmFsaXphdGlvbjsKdXNpbmcgU3lzdGVtLlJlZmxlY3Rpb247CnVzaW5nIFN5c3RlbS5TZWN1cml0eS5DcnlwdG9ncmFwaHk7CnVzaW5nIFN5c3RlbS5UZXh0OwoKcHVibGljIGNsYXNzIFRlc3QKewogICAgcHVibGljIHN0YXRpYyB2b2lkIE1haW4oc3RyaW5nW10gYXJncykKICAgIHsKICAgICAgICBUeXBlIHR5cGUgPSBUeXBlLkdldFR5cGUoIk1vbm8uUnVudGltZSIpOwogICAgICAgIGlmICh0eXBlICE9IG51bGwpCiAgICAgICAgewogICAgICAgICAgICBNZXRob2RJbmZvIGRpc3BsYXlOYW1lID0gdHlwZS5HZXRNZXRob2QoIkdldERpc3BsYXlOYW1lIiwgQmluZGluZ0ZsYWdzLk5vblB1YmxpYyB8IEJpbmRpbmdGbGFncy5TdGF0aWMpOwogICAgICAgICAgICAKICAgICAgICAgICAgaWYgKGRpc3BsYXlOYW1lICE9IG51bGwpIAogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZSgiTW9ubyB2ZXJzaW9uOiB7MH0iLCBkaXNwbGF5TmFtZS5JbnZva2UobnVsbCwgbnVsbCkpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBTSEE1MTIgc2hhTSA9IG5ldyBTSEE1MTJNYW5hZ2VkKCk7CiAgICAgICAgYnl0ZVtdIGRhdGEgPSBzaGFNLkNvbXB1dGVIYXNoKEVuY29kaW5nLlVURjguR2V0Qnl0ZXMoInBhc3N3b3JkIikpOwoKICAgICAgICBTdHJpbmdCdWlsZGVyIHNCdWlsZGVyID0gbmV3IFN0cmluZ0J1aWxkZXIoKTsKCiAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBkYXRhLkxlbmd0aDsgaSsrKQogICAgICAgIHsKICAgICAgICAgICAgc0J1aWxkZXIuQXBwZW5kKGRhdGFbaV0uVG9TdHJpbmcoIngyIikpOwogICAgICAgIH0KCiAgICAgICAgc3RyaW5nIHN0cmluZ3lIYXNoID0gc0J1aWxkZXIuVG9TdHJpbmcoKTsKCiAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoc3RyaW5neUhhc2gpOwogICAgfQp9