using System;
using System.Globalization;
using System.Linq;
using System.Security.Cryptography;
public class Test
{
public static void Main()
{
var input = "060201080808040602040909080909003583150369840500";
// parse the input into a byte[]
var inputBytes = Enumerable.Range(0, input.Length/2)
.Select(i => input.Substring(i*2, 2))
.Select(s => byte.Parse(s, NumberStyles.HexNumber))
.ToArray();
var hash = new SHA1CryptoServiceProvider().ComputeHash(inputBytes);
var outputHexString = string.Join(" ",
hash.Select(b => b.ToString("X")).ToArray());
Console.WriteLine(outputHexString);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uR2xvYmFsaXphdGlvbjsKdXNpbmcgU3lzdGVtLkxpbnE7CnVzaW5nIFN5c3RlbS5TZWN1cml0eS5DcnlwdG9ncmFwaHk7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJCXZhciBpbnB1dCA9ICIwNjAyMDEwODA4MDgwNDA2MDIwNDA5MDkwODA5MDkwMDM1ODMxNTAzNjk4NDA1MDAiOwoKCQkJLy8gcGFyc2UgdGhlIGlucHV0IGludG8gYSBieXRlW10KCQkJdmFyIGlucHV0Qnl0ZXMgPSBFbnVtZXJhYmxlLlJhbmdlKDAsIGlucHV0Lkxlbmd0aC8yKQoJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAuU2VsZWN0KGkgPT4gaW5wdXQuU3Vic3RyaW5nKGkqMiwgMikpCgkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgIC5TZWxlY3QocyA9PiBieXRlLlBhcnNlKHMsIE51bWJlclN0eWxlcy5IZXhOdW1iZXIpKQoJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAuVG9BcnJheSgpOwoKCQkJdmFyIGhhc2ggPSBuZXcgU0hBMUNyeXB0b1NlcnZpY2VQcm92aWRlcigpLkNvbXB1dGVIYXNoKGlucHV0Qnl0ZXMpOwoKCQkJdmFyIG91dHB1dEhleFN0cmluZyA9IHN0cmluZy5Kb2luKCIgIiwgCgkJCQloYXNoLlNlbGVjdChiID0+IGIuVG9TdHJpbmcoIlgiKSkuVG9BcnJheSgpKTsKCgkJCUNvbnNvbGUuV3JpdGVMaW5lKG91dHB1dEhleFN0cmluZyk7Cgl9Cn0=