晕,都几点了,人都下班了,谁会来顶啊?谁说我们在乎分了?????!!!!
在DES中,key是一个8位的byte[],
对于 RC2、DES 和 TripleDES,n = 8 字节;n = 16 [默认值];n = 24;对于 Rijndael,n = 32),
ms-help://MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconcryptographyoverview.htm
源代码:
#region "自定义对象"
private const string inFile="C:\\Test.ini";
private const string outFile="C:\\DES.ini";
private const string lastFile="C:\\DeDES.ini";
private DES des = new DESCryptoServiceProvider();
private byte[] thisKey;
private byte[] thisIV;
#endregion
public ClassDES()
{
byte[] keyMy=new byte[]{10,10,10,10,10,10,10,10};
byte[] ivMy=new byte[]{5,5,5,5,5,5,5,5};
//des.GenerateKey();
//des.GenerateIV();
//this.DESWriter(inFile,outFile);
//this.DESDeWriter(outFile,lastFile);
this.MyDESWriter(inFile,outFile,keyMy,ivMy);
} public void DESWriter(String inName, String outName,byte[] desKey,byte[] desIV)
{
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];
long rdlen = 0;
long totlen = fin.Length;
int len;
CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write);
Console.WriteLine("Encrypting...");
while(rdlen < totlen)
{
len = fin.Read(bin, 0, 100);
encStream.Write(bin, 0, len);
rdlen = rdlen + len;
Console.WriteLine("{0} bytes processed", rdlen);
}
encStream.Close();
fout.Close();
fin.Close();
}public void DESWriter(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];
long rdlen = 0;
long totlen = fin.Length;
int len;
CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(), CryptoStreamMode.Write);
this.thisKey=des.Key;
this.thisIV=des.IV;
Console.WriteLine("Encrypting...");
while(rdlen < totlen)
{
len = fin.Read(bin, 0, 100);
encStream.Write(bin, 0, len);
rdlen = rdlen + len;
Console.WriteLine("{0} bytes processed", rdlen);
} encStream.Close();
fout.Close();
fin.Close();
}
public void DESDeWriter(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];
long rdlen = 0;
long totlen = fin.Length;
int len;
CryptoStream encStream = new CryptoStream(fout, des.CreateDecryptor(this.thisKey,this.thisIV), CryptoStreamMode.Write);
this.thisKey=des.Key;
this.thisIV=des.IV;
Console.WriteLine("Decrypting...");
while(rdlen < totlen)
{
len = fin.Read(bin, 0, 100);
encStream.Write(bin, 0, len);
rdlen = rdlen + len;
Console.WriteLine("{0} bytes processed", rdlen);
} encStream.Close();
fout.Close();
fin.Close();
}public void MyDESWriter(String inName, String outName,byte[] desKey,byte[] desIV)
{
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];
long rdlen = 0;
long totlen = fin.Length;
int len;
CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write);
Console.WriteLine("Encrypting...");
while(rdlen < totlen)
{
len = fin.Read(bin, 0, 100);
encStream.Write(bin, 0, len);
rdlen = rdlen + len;
Console.WriteLine("{0} bytes processed", rdlen);
}
encStream.Close();
fout.Close();
fin.Close();
}
public void MyDESWriter(String inName, String outName,byte[] desKey,byte[] desIV)
{
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];
long rdlen = 0;
long totlen = fin.Length;
int len;
CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write);
Console.WriteLine("Encrypting...");
//Read from the input file, then encrypt and write to the output file.
while(rdlen < totlen)
{
len = fin.Read(bin, 0, 100);
encStream.Write(bin, 0, len);
rdlen = rdlen + len;
Console.WriteLine("{0} bytes processed", rdlen);
}
encStream.Close();
fout.Close();
fin.Close();
}
在DES中,key是一个8位的byte[],
对于 RC2、DES 和 TripleDES,n = 8 字节;n = 16 [默认值];n = 24;对于 Rijndael,n = 32),
ms-help://MS.MSDNQTR.2003FEB.2052/cpguide/html/cpconcryptographyoverview.htm
源代码:
#region "自定义对象"
private const string inFile="C:\\Test.ini";
private const string outFile="C:\\DES.ini";
private const string lastFile="C:\\DeDES.ini";
private DES des = new DESCryptoServiceProvider();
private byte[] thisKey;
private byte[] thisIV;
#endregion
public ClassDES()
{
byte[] keyMy=new byte[]{10,10,10,10,10,10,10,10};
byte[] ivMy=new byte[]{5,5,5,5,5,5,5,5};
//des.GenerateKey();
//des.GenerateIV();
//this.DESWriter(inFile,outFile);
//this.DESDeWriter(outFile,lastFile);
this.MyDESWriter(inFile,outFile,keyMy,ivMy);
} public void DESWriter(String inName, String outName,byte[] desKey,byte[] desIV)
{
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];
long rdlen = 0;
long totlen = fin.Length;
int len;
CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write);
Console.WriteLine("Encrypting...");
while(rdlen < totlen)
{
len = fin.Read(bin, 0, 100);
encStream.Write(bin, 0, len);
rdlen = rdlen + len;
Console.WriteLine("{0} bytes processed", rdlen);
}
encStream.Close();
fout.Close();
fin.Close();
}public void DESWriter(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];
long rdlen = 0;
long totlen = fin.Length;
int len;
CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(), CryptoStreamMode.Write);
this.thisKey=des.Key;
this.thisIV=des.IV;
Console.WriteLine("Encrypting...");
while(rdlen < totlen)
{
len = fin.Read(bin, 0, 100);
encStream.Write(bin, 0, len);
rdlen = rdlen + len;
Console.WriteLine("{0} bytes processed", rdlen);
} encStream.Close();
fout.Close();
fin.Close();
}
public void DESDeWriter(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];
long rdlen = 0;
long totlen = fin.Length;
int len;
CryptoStream encStream = new CryptoStream(fout, des.CreateDecryptor(this.thisKey,this.thisIV), CryptoStreamMode.Write);
this.thisKey=des.Key;
this.thisIV=des.IV;
Console.WriteLine("Decrypting...");
while(rdlen < totlen)
{
len = fin.Read(bin, 0, 100);
encStream.Write(bin, 0, len);
rdlen = rdlen + len;
Console.WriteLine("{0} bytes processed", rdlen);
} encStream.Close();
fout.Close();
fin.Close();
}public void MyDESWriter(String inName, String outName,byte[] desKey,byte[] desIV)
{
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];
long rdlen = 0;
long totlen = fin.Length;
int len;
CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write);
Console.WriteLine("Encrypting...");
while(rdlen < totlen)
{
len = fin.Read(bin, 0, 100);
encStream.Write(bin, 0, len);
rdlen = rdlen + len;
Console.WriteLine("{0} bytes processed", rdlen);
}
encStream.Close();
fout.Close();
fin.Close();
}
public void MyDESWriter(String inName, String outName,byte[] desKey,byte[] desIV)
{
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];
long rdlen = 0;
long totlen = fin.Length;
int len;
CryptoStream encStream = new CryptoStream(fout, des.CreateEncryptor(desKey, desIV), CryptoStreamMode.Write);
Console.WriteLine("Encrypting...");
//Read from the input file, then encrypt and write to the output file.
while(rdlen < totlen)
{
len = fin.Read(bin, 0, 100);
encStream.Write(bin, 0, len);
rdlen = rdlen + len;
Console.WriteLine("{0} bytes processed", rdlen);
}
encStream.Close();
fout.Close();
fin.Close();
}
解决方案 »
- 软件注册问题
- 你的可用分比别人少吧!每天发帖即可得 30 可用分!
- C#里面什么是类 什么是结构 什么是引用类型 什么是值类型 什么是指针
- Bitmap长度问题?
- 急!!!关于adsi的!!!!
- Mission planner编译
- 请问可以设置数组的DataType的值吗?
- 哪位大侠能详细讲一下C#中的接口,一定给高2分
- .NET Framework SDK Beta 1安装时出现error 2894.internal Error 2894.126 错误如何解决??
- C#与单片机CAN通讯
- 哥们帮忙解决,有分啊,
- 请问,用DataTable,dt.Rows.InsertAt(r,1)来插入行,为什么总是插在最后一行?
表明是Key的大小有误,你看看是不是刚好那么多位??我以前写一个8位的加密,写多了一个,就有这种错!!!
我的意思是怎么让那段程序接受我的24位的key。??