سلام دوست من
من قبلا در مورد روش Encrypt و Decrypt کردن یک رشته توی تاپیک زیر توضیح دادم که توی تالار VB.net هستش.
http://www.barnamenevis.org/sh...d.php?t=144062
الا ایحال نتیجه اون تاپیک که مشکل اون دوستمون رو حل کرد رو برات اینجا میزارم امیدوارم که مشکل شما رو هم حل کنه.
این کلاسش :
using System;
using System.Windows.Forms;
using System.IO;
using System.Text;
using System.Security.Cryptography;
public class Encryptor
{
private Rijndael RJ = Rijndael.Create() ;
private MD5CryptoServiceProvider MD = new MD5CryptoServiceProvider();
private byte[] Md5Hash(string Value)
{
return MD.ComputeHash(ASCIIEncoding.ASCII.GetBytes(Value) );
}
public string EncryptText(string TextToEncrypt, string Key)
{
RJ.Key = Md5Hash(Key);
RJ.Mode = CipherMode.ECB;
byte[] ToEncrypt = Encoding.ASCII.GetBytes(TextToEncrypt);
return Convert.ToBase64String(RJ.CreateEncryptor().Transf ormFinalBlock(ToEncrypt, 0, ToEncrypt.Length));
}
public string DecryptText(string EncryptedText, string Key)
{
try
{
RJ.Key = Md5Hash(Key);
RJ.Mode = CipherMode.ECB;
byte[] ToDecrypt = Convert.FromBase64String(EncryptedText);
return ASCIIEncoding.ASCII.GetString(RJ.CreateDecryptor() .TransformFinalBlock(ToDecrypt, 0, ToDecrypt.Length));
}
catch
{
MessageBox.Show("Invalid Key", "Decryption Failed", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
return null;
}
}
}
اینم مثلا نحوه کد کردن :
Encryptor en=new Encryptor() ;
MessageBox.Show(en.EncryptText("Hello world", "Anything"));
اینم نحوه دیکد کردن :
Encryptor de = new Encryptor();
MessageBox.Show(de.DecryptText("Iqp5jIimx0Iquqe5dW EKLA==", "Anything"));
یا علی