那要看你怎么加密了
如果是你自己定义的加密算法
再反过来就解密了
MD5加密:
using System.Security.Cryptography;
public static String Encrypt(String str)
{
MD5 md5 = new MD5CryptoServiceProvider();
Byte[] data = System.Text.Encoding.Default.GetBytes(str);
Byte[] md5data = md5.ComputeHash(data);
String ss = "";
for (Int32 i = 0; i < md5data.Length; i++)
{
ss += md5data[i].ToString("X").PadLeft(2, '0');
}
return ss;
}
MD5算法无法解密,MD5算法所得到的加密串是唯一的,要想验证输入的帐号密码是否正确,只需要把输入的帐号密码用MD5加密后,再和文件里的比比就行了。
就算对方知道了文件里面的加密串,也无法破解原密码。
有关MD5算法,LZ可以在百度查查。
假设LZ你还需要把加密后的东西还原回去的话,那么我建议你不要使用成熟的可以加密的加密算法,因为这些算法有对应的解密算法,所以对方如果懂加密原理的话,是可以解密的。
所以我建议你自己定义一个加密解密算法,这个也很简单,把字符串加加减减,乘乘除除不就行了吗?或者把字符串变成二进制数组,然后对这个二进制数组处理一下,在转回去保存,要破解是很难的。
byte[] Code = Encoding.UTF8.GetBytes(str);//转成字节数组
有一个加密算法,采用密钥加密的。
//加密
public static String MiYao(String str)
{
String encryptKey = "Oyea";
DESCryptoServiceProvider descsp = new DESCryptoServiceProvider();
byte[] key = Encoding.Unicode.GetBytes(encryptKey);
byte[] data = Encoding.Unicode.GetBytes(str);
System.IO.MemoryStream MStream = new System.IO.MemoryStream();
CryptoStream CStream = new CryptoStream(MStream, descsp.CreateEncryptor(key, key), CryptoStreamMode.Write);
CStream.Write(data, 0, data.Length);
CStream.FlushFinalBlock();
return Convert.ToBase64String(MStream.ToArray());
}
//解密
public static String JieMi(String str)
{
String encryptKey = "Oyea";
DESCryptoServiceProvider descsp = new DESCryptoServiceProvider();
byte[] key = Encoding.Unicode.GetBytes(encryptKey);
byte[] data = Convert.FromBase64String(str);
System.IO.MemoryStream MStream = new System.IO.MemoryStream();
CryptoStream CStream = new CryptoStream(MStream, descsp.CreateDecryptor(key,key), CryptoStreamMode.Write);
CStream.Write(data, 0, data.Length);
CStream.FlushFinalBlock();
return Encoding.Unicode.GetString(MStream.ToArray());
}