Security C# Tutorial

using System;
using System.IO;
using System.Security;
using System.Security.Cryptography;
using System.Collections.Generic;
using System.Text;
    class Program
    {
        static void Main(string[] args)
        {
            string verifiableMesage = "this is a test";
            string     wrongMessage = "this is another test";
            SHA1Managed sha = new SHA1Managed();
            byte[] verifiableMessageHash = sha.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(verifiableMesage));
            byte[] wrongMessageHash = sha.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(wrongMessage));
            FileStream fs = new FileStream("signedHash.dat", FileMode.Open);
            byte[] fileHash = new byte[fs.Length];
            fs.Read(fileHash, 0, (int)fs.Length);
            fs.Close();
            StreamReader sr = File.OpenText("myKey.xml");
            string myKey = sr.ReadToEnd();
            sr.Close();
            RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
            rsa.FromXmlString(myKey);
            RSAPKCS1SignatureDeformatter sigDeformatter = new RSAPKCS1SignatureDeformatter(rsa);
            sigDeformatter.SetHashAlgorithm("SHA1");
            Console.WriteLine(sigDeformatter.VerifySignature(verifiableMessageHash, fileHash));
            Console.WriteLine(sigDeformatter.VerifySignature(wrongMessageHash, fileHash) == false);
        }
    }