求一简单的 DES加密实例。要c#.net实现!
两个TextBox。两个Button.在TextBox1中输入内容点击Button1进行加密显示!在TextBox1中输入加密后的内容进行显示!
两个TextBox。两个Button.在TextBox1中输入内容点击Button1进行加密显示!在TextBox1中输入加密后的内容进行显示!
答案:public class DESEncrypt
{
private string _iv = "12345678";
private string _key = "acfeffsd";
private DES _des = new DESCryptoServiceProvider();
private Encoding _encoding = Encoding.Unicode;
/// <summary>
///
/// </summary>
/// <value>The encrypty key.</value>
public string EncryptyKey
{
set { _key = value; }
get { return _key; }
}
/// <summary>
///
/// </summary>
/// <value>The encoding mode.</value>
public Encoding EncodingMode
{
set { _encoding = value; }
get { return _encoding; }
}
/// <summary>
/// Encrypt
/// </summary>
/// <param name="str">The STR.</param>
/// <returns></returns>
public string Encrypt(string str)
{
var ivb = Encoding.ASCII.GetBytes(_iv);
var keyb = Encoding.ASCII.GetBytes(EncryptyKey);
var tob = EncodingMode.GetBytes(str);
byte[] encrypted;
var encryptor = _des.CreateEncryptor(keyb, ivb);
var msEncrypt = new MemoryStream();
var csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write);
csEncrypt.Write(tob, 0, tob.Length);
csEncrypt.FlushFinalBlock();
encrypted = msEncrypt.ToArray();
csEncrypt.Close();
msEncrypt.Close();
return EncodingMode.GetString(encrypted);
}
/// <summary>
/// Decript
/// </summary>
/// <param name="str"></param>
/// <returns></returns>
public string Decrypt(string str)
{
var ivb = Encoding.ASCII.GetBytes(_iv);
var keyb = Encoding.ASCII.GetBytes(EncryptyKey);
var tob = EncodingMode.GetBytes(str);
byte[] encrypted;
var encryptor = _des.CreateDecryptor(keyb, ivb);
var msEncrypt = new MemoryStream();
var csEncrypt = new CryptoStream(msEncrypt, encryptor, CryptoStreamMode.Write);
csEncrypt.Write(tob, 0, tob.Length);
csEncrypt.FlushFinalBlock();
encrypted = msEncrypt.ToArray();
csEncrypt.Close();
msEncrypt.Close();
return EncodingMode.GetString(encrypted);
}
}
上一个:在.net(c#)中,如何用response打印三元运算符结果
下一个:.net中:在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节的错误