对称加密(DES)
?
using?System;using?System.Collections.Generic;
using?System.Text;
using?System.Security.Cryptography;
using?System.IO;
namespace?Component
{
????public?class?Security
????{
????????public?Security()
????????{?
????????
????????}
????????//默認密鑰向量
????????private?static?byte[]?Keys?=?{?0x12,?0x34,?0x56,?0x78,?0x90,?0xAB,?0xCD,?0xEF?};
????????/**//**//**////?<summary>
????????///?DES加密字符串
????????///?</summary>
????????///?<param?name="encryptString">待加密的字符串</param>
????????///?<param?name="encryptKey">加密密鑰,要求為8位</param>
????????///?<returns>加密成功返回加密后的字符串,失敗返回源串</returns>
????????public?static?string?EncryptDES(string?encryptString,?string?encryptKey)
????????{
????????????try
????????????{
????????????????byte[]?rgbKey?=?Encoding.UTF8.GetBytes(encryptKey.Substring(0,?8));
????????????????byte[]?rgbIV?=?Keys;
????????????????byte[]?inputByteArray?=?Encoding.UTF8.GetBytes(encryptString);
????????????????DESCryptoServiceProvider?dCSP?=?new?DESCryptoServiceProvider();
????????????????MemoryStream?mStream?=?new?MemoryStream();
????????????????CryptoStream?cStream?=?new?CryptoStream(mStream,?dCSP.CreateEncryptor(rgbKey,?rgbIV),?CryptoStreamMode.Write);
????????????????cStream.Write(inputByteArray,?0,?inputByteArray.Length);
????????????????cStream.FlushFinalBlock();
????????????????return?Convert.ToBase64String(mStream.ToArray());
????????????}
????????????catch
????????????{
????????????????return?encryptString;
????????????}
????????}
????????/**//**//**////?<summary>
????????///?DES解密字符串
????????///?</summary>
????????///?<param?name="decryptString">待解密的字符串</param>
????????///?<param?name="decryptKey">解密密鑰,要求為8位,和加密密鑰相同</param>
????????///?<returns>解密成功返回解密后的字符串,失敗返源串</returns>
????????public?static?string?DecryptDES(string?decryptString,?string?decryptKey)
????????{
????????????try
????????????{
????????????????byte[]?rgbKey?=?Encoding.UTF8.GetBytes(decryptKey);
????????????????byte[]?rgbIV?=?Keys;
????????????????byte[]?inputByteArray?=?Convert.FromBase64String(decryptString);
????????????????DESCryptoServiceProvider?DCSP?=?new?DESCryptoServiceProvider();
????????????????MemoryStream?mStream?=?new?MemoryStream();
????????????????CryptoStream?cStream?=?new?CryptoStream(mStream,?DCSP.CreateDecryptor(rgbKey,?rgbIV),?CryptoStreamMode.Write);
????????????????cStream.Write(inputByteArray,?0,?inputByteArray.Length);
????????????????cStream.FlushFinalBlock();
????????????????return?Encoding.UTF8.GetString(mStream.ToArray());
????????????}
????????????catch
????????????{
????????????????return?decryptString;
????????????}
????????}?
????}
}
轉載于:https://www.cnblogs.com/weixu/archive/2007/08/21/864342.html
總結
- 上一篇: 鸟哥linux基础篇学完到什么程度,学完
- 下一篇: HTML5 植物大战僵尸项目介绍 和源码