测试个加密文件!

wonkju 2013-04-15 11:50:03

namespace EncriptStringTest {
class Program {
static void Main (string[] args) {
Console.WriteLine("Input The String to to Encrypt:");
string strToEn = Console.ReadLine(); //待加密的字符串.
string strEnResult = EncriptHelper.Encript(strToEn); //调用方法,加密字符串.
Console.WriteLine("加密后的字符串为:\n" + strEnResult);
Console.ReadKey();
}
}
//加密类.
class EncriptHelper {
public static string enKey = "theKey"; //密匙.
public static string Encript (string strToEn) {
DESCryptoServiceProvider descrypt = new DESCryptoServiceProvider(); //加密字符串.
byte[] keys = Encoding.Unicode.GetBytes(enKey);
byte[] values = Encoding.Unicode.GetBytes(strToEn);
MemoryStream mStream = new MemoryStream(); //内存流.
//通过"内存流"创建贾米流对象.
CryptoStream cStream = new CryptoStream(mStream, descrypt.CreateEncryptor(keys,values), CryptoStreamMode.Write);

cStream.Write(values, 0, values.Length); //写入内存.
cStream.FlushFinalBlock(); //刷新写入的加密字符串.
return Convert.ToBase64String(mStream.ToArray());
}
}
}
//我打"红字"部分报错了!
Specified key is not a valid size for this algorithm.
...全文
175 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
godgogogo 2013-04-20
  • 打赏
  • 举报
回复
我改了下你的代码,测试可以啊。不好意思,还是用4楼的方式。 public static string enKey = "theKey12"; //密匙. byte[] keys = Encoding.UTF8.GetBytes(enKey.Substring(0, 8)); byte[] values = Encoding.UTF8.GetBytes(strToEn);
引用 6 楼 king769147 的回复:
不行哈,还是不行,加密的时候都不行...一样的报错.好奇怪了...
wonkju 2013-04-18
  • 打赏
  • 举报
回复
不行哈,还是不行,加密的时候都不行...一样的报错.好奇怪了...
godgogogo 2013-04-16
  • 打赏
  • 举报
回复
byte[] values = Convert.FromBase64String(strToEn);
godgogogo 2013-04-16
  • 打赏
  • 举报
回复
把Unicode改成UTF8,因为unicode是两个字节的,所以长度不对。 public static string enKey = "theKey12"; byte[] keys = Encoding.UTF8.GetBytes(enKey.Substring(0, 8)); byte[] values = Encoding.UTF8.GetBytes(strToEn);
wonkju 2013-04-16
  • 打赏
  • 举报
回复
该怎么改哈?
wonkju 2013-04-16
  • 打赏
  • 举报
回复
引用 1 楼 godgogogo 的回复:
该加密算法,key值要8个字节长度。
还是一样的报错哈~1楼可以测试就知道了嘛,以上是我的全部代码了... 而且也没有道理吧...
godgogogo 2013-04-16
  • 打赏
  • 举报
回复
该加密算法,key值要8个字节长度。

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧