用户注册



邮箱:

密码:

用户登录


邮箱:

密码:
记住登录一个月忘记密码?

发表随想


还能输入:200字
云代码 - c#代码库

DES加密与解密

2012-09-18 作者: 神马举报

[c#]代码库

// <summary>
// 进行DES加密。
// </summary>
// <param name="pToEncrypt">要加密的字符串。</param>
// <param name="sKey">密钥,且必须为8位。</param>
// <returns>以Base64格式返回的加密字符串。</returns>
public string Encrypt ( string pToEncrypt, string sKey )
{
	using ( DESCryptoServiceProvider des = new DESCryptoServiceProvider() )
	{
		byte[] inputByteArray = Encoding.UTF8.GetBytes ( pToEncrypt );
		des.Key = ASCIIEncoding.ASCII.GetBytes ( sKey );
		des.IV = ASCIIEncoding.ASCII.GetBytes ( sKey );
		System.IO.MemoryStream ms = new System.IO.MemoryStream();
		using ( CryptoStream cs = new CryptoStream ( ms, des.CreateEncryptor(), CryptoStreamMode.Write ) )
		{
			cs.Write ( inputByteArray, 0, inputByteArray.Length );
			cs.FlushFinalBlock();
			cs.Close();
		}
		string str = Convert.ToBase64String ( ms.ToArray() );
		ms.Close();
		return str;
	}
}


// <summary>
// 进行DES解密。
// </summary>
// <param name="pToDecrypt">要解密的以Base64</param>
// <param name="sKey">密钥,且必须为8位。</param>
// <returns>已解密的字符串。</returns>
public string Decrypt ( string pToDecrypt, string sKey )
{
	byte[] inputByteArray = Convert.FromBase64String ( pToDecrypt );
	using ( DESCryptoServiceProvider des = new DESCryptoServiceProvider() )
	{
		des.Key = ASCIIEncoding.ASCII.GetBytes ( sKey );
		des.IV = ASCIIEncoding.ASCII.GetBytes ( sKey );
		System.IO.MemoryStream ms = new System.IO.MemoryStream();
		using ( CryptoStream cs = new CryptoStream ( ms, des.CreateDecryptor(), CryptoStreamMode.Write ) )
		{
			cs.Write ( inputByteArray, 0, inputByteArray.Length );
			cs.FlushFinalBlock();
			cs.Close();
		}
		string str = Encoding.UTF8.GetString ( ms.ToArray() );
		ms.Close();
		return str;
	}
}


网友评论    (发表评论)


发表评论:

评论须知:

  • 1、评论每次加2分,每天上限为30;
  • 2、请文明用语,共同创建干净的技术交流环境;
  • 3、若被发现提交非法信息,评论将会被删除,并且给予扣分处理,严重者给予封号处理;
  • 4、请勿发布广告信息或其他无关评论,否则将会删除评论并扣分,严重者给予封号处理。


扫码下载

加载中,请稍后...

输入口令后可复制整站源码

加载中,请稍后...