3des加密为何编译出错?
//利用3des加密源串,密钥为8位
//web应用
const string b64key = "abcdefgh";
public string EncryptData(string b64Key, string content)
{
byte[] tdesIV=new byte[1];
byte[] tdesKey=Convert.FromBase64String(b64Key);
TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
tdes.Mode=CipherMode.ECB;
tdes.Padding=PaddingMode.PKCS7;
ICryptoTransform temp=tdes.CreateEncryptor(tdesKey, tdesIV);
ToBase64Transform t64=new ToBase64Transform();
MemoryStream dstream=new MemoryStream();
CryptoStream encStream = new CryptoStream(dstream,t64 , CryptoStreamMode.Write);
CryptoStream enc2=new CryptoStream(dstream,temp,CryptoStreamMode.Write);
Console.WriteLine("Encrypting...");
char[] contentchar=content.ToCharArray();
byte[] contentbyte=new byte[contentchar.GetLength(0)];
for (int i=0;i<contentchar.GetLength(0);i++)
{
contentbyte[i]=(byte)contentchar[i];
}
enc2.Write(contentbyte, 0, contentchar.GetLength(0));
enc2.Close();
byte[] a3= dstream.ToArray();
string a4=Convert.ToBase64String(a3);
return a4;
}
出错提示:
指定键的大小对于此算法无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Security.Cryptography.CryptographicException: 指定键的大小对于此算法无效。
源错误:
行 66: tdes.Mode=CipherMode.ECB;
行 67: tdes.Padding=PaddingMode.PKCS7;
行 68: ICryptoTransform temp=tdes.CreateEncryptor(tdesKey, tdesIV);
行 69: ToBase64Transform t64=new ToBase64Transform();
行 70: MemoryStream dstream=new MemoryStream();
源文件: d:\inetpub\wwwroot\websip\bjsgip.aspx.cs 行: 68
//web应用
const string b64key = "abcdefgh";
public string EncryptData(string b64Key, string content)
{
byte[] tdesIV=new byte[1];
byte[] tdesKey=Convert.FromBase64String(b64Key);
TripleDESCryptoServiceProvider tdes = new TripleDESCryptoServiceProvider();
tdes.Mode=CipherMode.ECB;
tdes.Padding=PaddingMode.PKCS7;
ICryptoTransform temp=tdes.CreateEncryptor(tdesKey, tdesIV);
ToBase64Transform t64=new ToBase64Transform();
MemoryStream dstream=new MemoryStream();
CryptoStream encStream = new CryptoStream(dstream,t64 , CryptoStreamMode.Write);
CryptoStream enc2=new CryptoStream(dstream,temp,CryptoStreamMode.Write);
Console.WriteLine("Encrypting...");
char[] contentchar=content.ToCharArray();
byte[] contentbyte=new byte[contentchar.GetLength(0)];
for (int i=0;i<contentchar.GetLength(0);i++)
{
contentbyte[i]=(byte)contentchar[i];
}
enc2.Write(contentbyte, 0, contentchar.GetLength(0));
enc2.Close();
byte[] a3= dstream.ToArray();
string a4=Convert.ToBase64String(a3);
return a4;
}
出错提示:
指定键的大小对于此算法无效。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Security.Cryptography.CryptographicException: 指定键的大小对于此算法无效。
源错误:
行 66: tdes.Mode=CipherMode.ECB;
行 67: tdes.Padding=PaddingMode.PKCS7;
行 68: ICryptoTransform temp=tdes.CreateEncryptor(tdesKey, tdesIV);
行 69: ToBase64Transform t64=new ToBase64Transform();
行 70: MemoryStream dstream=new MemoryStream();
源文件: d:\inetpub\wwwroot\websip\bjsgip.aspx.cs 行: 68
...全文
相关推荐
3DES加密解密工具
对数据进行3DES加密或者解密,如果密码长度为8字节则为DES加密或者解密
3DES加密算法核心原理与CBC模式实现深度解析
对称加密算法是保障数据机密性的核心技术,其核心原理在于使用相同的密钥进行加密和解密操作。DES(Data Encryption Standard)作为经典的对称分组密码,采用Feistel网络结构和S盒非线性变换,奠定了分组密码的设计基础。为应对计算能力提升带来的安全挑战,3DES(三重数据加密标准)应运而生,它通过三次DES运算(EDE模式)有效增加了密钥长度,在提升安全性的同时保持了与遗留DES系统的向后兼容性。在工程实践中,为消除ECB模式的安全缺陷,CBC(密码分组链接)模式成为主流选择,它通过引入
3DES加密算法源代码
DES加密源代码,用3DES加密算法。加密强度高,到目前为止,还无人能够破解!
3DES加密算法C++实现
1、实现了3DES功能的C++代码 2、支持多个key输入、支持ECB、CBC填充模式 3、不是.exe程序,是代码段;
JAVA实现3DES加密解密
NULL 博文链接:https://ping2010.iteye.com/blog/1571517



