layer:11

an addiction to or an obsession with acquiring, manipulating, and sharing information

Computing MD5/SHA256/SHA512 Checksum

 1 using System;
 2 using System.Security.Cryptography;
 3 using System.Text;
 4 
 5 class Test {
 6 
 7   public static int Main(String[] args) {
 8     if (args.Length != 2) {
 9       return 1;
10     } else {
11       HashAlgorithm algo;
12       switch (args[0].ToUpper()) {
13         case "MD5":
14           algo = new MD5CryptoServiceProvider();
15           break;
16         case "SHA256":
17           algo = new SHA256CryptoServiceProvider();
18           break;
19         case "SHA512":
20           algo = new SHA512CryptoServiceProvider();
21           break;
22         default:
23           return 2;
24       }
25       Console.WriteLine(ComputeChecksum(algo, args[1]));
26       return 0;
27     }
28   }
29 
30   static public String ComputeChecksum(HashAlgorithm algo, String message) {
31     var bytes = Encoding.UTF8.GetBytes(message);
32     var digest = algo.ComputeHash(bytes);
33     var checksum = new StringBuilder();
34     foreach (Byte b in digest) {
35       checksum.Append(b.ToString("x2"));
36     }
37     return checksum.ToString();
38   }
39 
40 }

2010-01-24 22:24

.NETMonoC Sharp

| Archive | RSS | E-mail | Twitter | Alvis Mikovs