帮我看看这个函数怎么用.

winner2050 2006-03-31 03:23:23
private string Encrypt(string datastr, string keystr)
{
DESCryptoServiceProvider desc = new DESCryptoServiceProvider();

byte[] key = System.Text.Encoding.ASCII.GetBytes(keystr);
byte[] data = System.Text.Encoding.Unicode.GetBytes(datastr);

MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms,desc.CreateEncryptor(key, key),CryptoStreamMode.Write);

cs.Write(data, 0, data.Length);
cs.FlushFinalBlock();

return System.Convert.ToBase64String(ms.ToArray());
}

我这么使用
private void Button2_Click(object sender, System.EventArgs e)
{
string str=Encrypt(TextBox1.Text,TextBox3.Text);
TextBox2.Text=str;
}

发生System.Security.Cryptography.CryptographicException: 指定键的大小对于此算法无效。

这个http://www.kaifz.com/64-t48270.htm
家伙跟我一样COPY同一个函数,后来能用了也不写出来怎么用.
...全文
94 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ak4444444 2006-06-12
  • 打赏
  • 举报
回复
师傅没有人回答得了你,我JF
winner2050 2006-04-03
  • 打赏
  • 举报
回复
自己完成了
还是我聪明
winner2050 2006-04-03
  • 打赏
  • 举报
回复
没有人知道为什么吗?
iceblue2005gather 2006-03-31
  • 打赏
  • 举报
回复
Public Function encryptstring(ByVal value As String) As String
'从DES算法的加密类对象的CreateEncryptor方法,创建一个加密转换接口对象
Private crykey() As Byte = {100, 120, 110, 120, 140, 100, 110, 100}
'第一个参数的含义是:对称算法的机密密钥(长度为64位,也就是8个字节)
'可以人工输入,也可以随机生成方法是:MyServiceProvider.GenerateKey();
Private cryiv() As Byte = {140, 130, 140, 140, 120, 100, 120, 120}
Dim mytransform As ICryptoTransform = myserverprovider.CreateEncryptor(crykey, cryiv)
Dim byt() As Byte = Encoding.UTF8.GetBytes(value) '转换为字节数组
Dim ms As New MemoryStream
Dim cs As New CryptoStream(ms, mytransform, CryptoStreamMode.Write) '目的是将目标数据流、要使用的转换和流的模式初始化 CryptoStream 类的新实例。
cs.Write(byt, 0, byt.Length)
cs.FlushFinalBlock() '用缓冲区的当前状态更新基础数据源或储存库,随后清除缓冲区。
cs.Close()
Return Convert.ToBase64String(ms.ToArray()) '返回字符串
End Function
加密,用desc
netsd 2006-03-31
  • 打赏
  • 举报
回复
可能keystr有长度限制
nameone 2006-03-31
  • 打赏
  • 举报
回复
UP

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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