求一款优秀的c#加密解密算法 ,最好是定长密文

网上找了几个算法都不能保证密文定长,一般是明文越长,密文就越长.,解密要有错误提示(如果无法找到对应明文的话)

第1个回答  2009-06-25
你一点分都舍不得给啊?我倒是准备发给你的.

加解密怎么没有啊!就是一个算法啊
给你吧!!!!

using System;
class Chedn
{
static void Main()
{
int i;
Boolean sw;
char[] chen = new char[10];
Console.WriteLine("*******************欢迎使用*******************");
for (i = 0; i < chen.Length; i++)
{
Console.WriteLine("请输入第{0}个数:", i + 1);
chen[i] = char.Parse(Console.ReadLine());

if ((chen[i] >= '0') && (chen[i] <= '9'))
{
}
else
{
sw = false;
Console.WriteLine("您的输入有误!");
break;
}
}
int m = 9;
int n = 0;
for (int a = 0; a < chen.Length / 2; a++)
{
char z = chen[m];
chen[m] = chen[n];
chen[n] = z;
m--;
n++;
}
for (i = 0; i < chen.Length; i++)
{
int pen = chen[i] + 17;
switch (pen)
{
case 'A':
chen[i] = 'A';
break;
case 'B':
chen[i] = 'B';
break;
case 'C':
chen[i] = 'C';
break;
case 'D':
chen[i] = 'D';
break;
case 'E':
chen[i] = 'E';
break;
case 'F':
chen[i] = 'F';
break;
case 'G':
chen[i] = 'G';
break;
case 'H':
chen[i] = 'H';
break;
case 'I':
chen[i] = 'I';
break;
case 'J':
chen[i] = 'J';
break;
}

} Console.Write("加密后为:");

foreach (char pen in chen)
{
Console.Write(pen+" ");
}
Console.Write("\n");

int x = 9; //解密
int y= 0;
for (int a = 0; a < 5; a++)
{
char z = chen[x];
chen[x] = chen[y];
chen[y] = z;
x--;
y++;
}
Console.Write("解密后为:");
for (i = 0; i < chen.Length; i++)
{
int hhh = chen[i] - 17;
switch (hhh)
{
case '0':
chen[i] = '0';
break;
case '1':
chen[i] = '1';
break;
case '2':
chen[i] = '2';
break;
case '3':
chen[i] = '3';
break;
case '4':
chen[i] = '4';
break;
case '5':
chen[i] = '5';
break;
case '6':
chen[i] = '6';
break;
case '7':
chen[i] = '7';
break;
case '8':
chen[i] = '8';
break;
case '9':
chen[i] = '9';
break;
}
}
foreach (char pen in chen)
{
Console.Write(pen+" ");
}
Console.Write("\n");
Console.ReadLine();
}
}

看了行不行都还是说一下啊,有问题再改进!!!
第2个回答  2009-06-25
你太抠门了
你可以用获取硬盘序列号来自己弄一个算法本回答被提问者采纳
第3个回答  2009-06-25
那你自己写加密算法吧!
第4个回答  2009-06-25
你应该研究一下文件压缩技术 它的方法很不错 估计长度会缩短很多
第5个回答  2009-06-25
晕倒,没有这种加密算法。。。
相似回答
大家正在搜