文件加密&字符加密的代码
来源:互联网 发布:申请做域名代理商 编辑:程序博客网 时间:2024/05/01 15:08
///<summary>文件加密类 使用DES加密文件流</summary>
///<param>desKey: DES的密钥;desIV: DES向量</param>
class encrypfile{
public byte[] desKey;
public byte[] desIV;
public encrypfile(byte[] inputKey,byte[] inputIV){
desKey=inputKey;
desIV=inputIV;
}
///<summary>加密主方法</summary>
///<param>inName:被加密文件名;outName: 加密后文件名</param>
public void begintoencry(string inName,string outName){
FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read);
FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileAccess.Write);
fout.SetLength(0);
byte[] bin = new byte[100]; //This is intermediate storage for the encryption.
long rdlen = 0; //This is the total number of bytes written.
long totlen = fin.Length; //This is the total length of the input file.
int len; //This is the number of bytes to be written at a time.
DES des = new DESCryptoServiceProvider();
CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write);
while(rdlen < totlen)
{
len = fin.Read(bin, 0, 100);
encStream.Write(bin, 0, len);
rdlen = rdlen + len;
}
encStream.Close();
fout.Close();
fin.Close();
}
}
加密字符流
//pToEncrypt为需要加密字符串,sKey为密钥
public string Encrypt(string pToEncrypt, string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
//把字符串放到byte数组中
byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);
//建立加密对象的密钥和向量
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(),CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret = new StringBuilder();
foreach(byte b in ms.ToArray())
{
ret.AppendFormat("{0:X2}", b);
}
return ret.ToString();
}
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=497212
- 文件加密&字符加密的代码
- 文件加密&字符加密的代码
- 文件加密&字符加密的代码
- RSA加密的类文件代码
- openssl 加密文件的完整实现代码
- OpenSSL 加密文件的完整实现代码
- openssl 加密文件的完整实现代码
- 字符加密
- 字符加密
- 字符加密
- 字符加密
- 字符加密
- 字符加密
- 字符加密
- 字符加密
- 字符加密
- 字符加密
- 字符加密
- Visual studio .net 的“隐蔽性”和容易“忽略”的功能
- 用 .NET 实现插件机制
- 混沌理论简介
- HashTable的遍历
- C# 程序员参考--属性教程
- 文件加密&字符加密的代码
- Common skills of SQL injection
- 体味AXIS开发web service
- 关闭windows xp的自动播放
- 我的第一篇blog文章
- 中国大学生与美国大学生的差距
- 灵(续)
- 马牛的C#学习(第七天)-范例应用程序(建立类库)
- 软件项目经理所必需具备的素质