using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Linq;
using
System.Text;
using
System.Windows.Forms;
using
System.Security.Cryptography;
namespace
WindowsFormsApplication3
{
public partial
class Form1
: Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object
sender, EventArgs e)
{
HASobj = new HAS("abc");
string s = obj.EncryptData("jay
jagannath");
MessageBox.Show(s);
string t =
obj.DecryptData(s);
MessageBox.Show(t);
}
}
class HAS
{
TripleDESCryptoServiceProvider
tripleDes = new TripleDESCryptoServiceProvider();
public PISOFTEKHAS(string key)
{
tripleDes.Key = TruncateHash(key, tripleDes.KeySize /
8);
tripleDes.IV = TruncateHash("",
tripleDes.BlockSize / 8);
}
private byte[] TruncateHash(string
key, int length)
{
SHA1CryptoServiceProvider
sha1 = new SHA1CryptoServiceProvider();
byte[] keyBytes =
System.Text.Encoding.Unicode.GetBytes(key);
byte[] hash =
sha1.ComputeHash(keyBytes);
Array.Resize(ref
hash, length);
return hash;
}
public string EncryptData(string
plaintext)
{
byte[] plaintextBytes =
System.Text.Encoding.Unicode.GetBytes(plaintext);
System.IO.MemoryStream
ms = new System.IO.MemoryStream();
CryptoStream
encStream = new CryptoStream(ms,
tripleDes.CreateEncryptor(), System.Security.Cryptography.CryptoStreamMode.Write);
encStream.Write(plaintextBytes, 0,
plaintextBytes.Length);
encStream.FlushFinalBlock();
return Convert.ToBase64String(ms.ToArray());
}
public string DecryptData(string
encryptedtext)
{
byte[] encryptedBytes =
Convert.FromBase64String(encryptedtext);
System.IO.MemoryStream ms = new
System.IO.MemoryStream();
CryptoStream
decStream = new CryptoStream(ms,
tripleDes.CreateDecryptor(), System.Security.Cryptography.CryptoStreamMode.Write);
decStream.Write(encryptedBytes, 0, encryptedBytes.Length);
decStream.FlushFinalBlock();
return System.Text.Encoding.Unicode.GetString(ms.ToArray());
}
}
}
No comments:
Post a Comment