字符和文件加密类,128位加密
using System;
using System.Security;
using System.Security.Cryptography;
using System.IO;
using System.Text;
namespace MySecurity
{
public class MySecurity
{
public MySecurity()
{
//
// TODO: 在此处添加构造函数逻辑
//
}
private string key="1234567890"; //默认密钥
private byte[] sKey;
private byte[] sIV;
/// <summary>
/// 加密字符串
/// </summary>
/// <param name="inputStr">输入字符串</param>
/// <param name="keyStr">密码,可以为“”</param>
/// <returns>输出加密后字符串</returns>
static public string SEncryptString(string inputStr,string keyStr)
{
MySecurity ws=new MySecurity();
return ws.EncryptString(inputStr,keyStr);
}
/// <summary>
/// 加密字符串
/// </summary>
/// <param name="inputStr">输入字符串</param>
/// <param name="keyStr">密码,可以为“”</param>
/// <returns>输出加密后字符串</returns>
public string EncryptString(string inputStr,string keyStr)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
if(keyStr=="")
keyStr=key;
byte[] inputByteArray = Encoding.Default.GetBytes(inputStr);
byte[] keyByteArray=Encoding.Default.GetBytes(keyStr);
SHA1 ha=new SHA1Managed();
byte[] hb=ha.ComputeHash(keyByteArray);
sKey=new byte[8];
sIV=new byte[8];
for(int i=0;i<8;i++)
sKey[i]=hb[i];
for(int i=8;i<16;i++)
sIV[i-8]=hb[i];
des.Key=sKey;
des.IV=sIV;
MemoryStream ms = new MemoryStream();