using System;
using System.IO;
using System.Security.Cryptography;
using System.Collections.Generic;
using System.Text;
class Program
{
static void Main(string[] args)
{
string verifiableMesage = "this is a test";
SHA1Managed sha = new SHA1Managed();
byte[] hashValue = sha.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(verifiableMesage));
StreamReader sr = File.OpenText("Key.xml");
string myKey = sr.ReadToEnd();
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
rsa.FromXmlString(myKey);
RSAPKCS1SignatureFormatter sigFormatter = new RSAPKCS1SignatureFormatter(rsa);
sigFormatter.SetHashAlgorithm("SHA1");
byte[] signedHash = sigFormatter.CreateSignature(hashValue);
FileStream fs = new FileStream("signedHash.dat", FileMode.Create);
fs.Write(signedHash, 0, signedHash.Length);
fs.Close();
}
}