加密问题

ls25145 2009-04-30 09:52:30
现在我需要对一个字符串(最大长度255字节)进行加密,因为密文要保存进数据库里,所以要确定密文的最大长度。
请问有什么加密算法是可以满足这种要求的?我对加密不太在行,各位帮忙了!
...全文
114 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
ls25145 2009-04-30
  • 打赏
  • 举报
回复
不好意思,刚才边吃边打的,表达错了。应该是密文长度跟 vrhero 说的不太一样。
PS:自己发的居然不能修改?
ls25145 2009-04-30
  • 打赏
  • 举报
回复
下面是网上找的一段DES加密的代码,我随机生成了一些长度为1~255的字符串,使用这个加密出来的密文长度好像不是跟楼上说的不太一致。
我循环了一万次,下面是输入和输出字符串长度对比(截取了部分)
Input: 1, Output: 12
Input: 10, Output: 24
Input: 10, Output: 32
Input: 10, Output: 44
Input: 100, Output: 224
Input: 100, Output: 236
Input: 100, Output: 248
Input: 100, Output: 256
Input: 100, Output: 268
...
是不是这段代码不太对?

static byte[] bytes = ASCIIEncoding.ASCII.GetBytes("ZeroCool");
public static string Encrypt(string originalString)
{
if (String.IsNullOrEmpty(originalString))
{
throw new ArgumentNullException("The string which needs to be encrypted can not be null.");
}

DESCryptoServiceProvider cryptoProvider = new DESCryptoServiceProvider();
MemoryStream memoryStream = new MemoryStream();
CryptoStream cryptoStream = new CryptoStream(memoryStream, cryptoProvider.CreateEncryptor(bytes, bytes), CryptoStreamMode.Write);

StreamWriter writer = new StreamWriter(cryptoStream);
writer.Write(originalString);
writer.Flush();
cryptoStream.FlushFinalBlock();
writer.Flush();

return Convert.ToBase64String(memoryStream.GetBuffer(), 0, (int)memoryStream.Length);
}
vrhero 2009-04-30
  • 打赏
  • 举报
回复
以最常用的对称加密算法DES和TripleDES算法为例...它们都是以8字节为一个块加密,一个8字节明文加密后的密文也是8字节...明文长度不足8字节添加0凑满8字节...所以加密后的密文长度一定是8字节的整数倍...最大长度255字节的明文加密后的密文最大长度是256字节...

其他加密算法请参考相关文档...
ls25145 2009-04-30
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 david_anwei 的回复:]
以上都可以!
[/Quote]
......
david_anwei 2009-04-30
  • 打赏
  • 举报
回复
以上都可以!
ls25145 2009-04-30
  • 打赏
  • 举报
回复
哈希类的都不行,因为要解密
编程有钱人了 2009-04-30
  • 打赏
  • 举报
回复
MD5 可以加密任意长度字符串

加密完 是32位的
terrydio 2009-04-30
  • 打赏
  • 举报
回复
补上楼:可参加此处
http://www.cnblogs.com/Terrylee/archive/2005/11/29/286688.html
terrydio 2009-04-30
  • 打赏
  • 举报
回复
建议你使用Enterprise Library 的加密程序块,很简单就能实现你说的加密!
51Crack 2009-04-30
  • 打赏
  • 举报
回复
xor

110,538

社区成员

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

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

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