请教个DES加密的密钥

sjf_kk 2009-05-01 06:46:50
//请教这个密钥是属于几位加密的?一共有93位数字,不知道是不是93位加密,另外这样加密会容易被破解吗?
//我想用来加密数据后保存在数据库中的。
//不知道为什么密钥用字母与数字混合使用呢?
private byte[] mykey = { 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 111, 11, 11, 11 };
...全文
577 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
scutLiu 2009-06-08
  • 打赏
  • 举报
回复
64位密钥由56位数据位和8位奇偶校验位组成
64位密钥中每个第8位作为奇偶校验位


sushou2009 2009-05-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
DES将明文分割成许多64位大小的块,每个块用64位密钥进行加密,密钥由56位数据位和8位奇偶校验位组成
参考
参考
[/Quote]
不是很好懂
sjf_kk 2009-05-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 wuyq11 的回复:]
DES将明文分割成许多64位大小的块,每个块用64位密钥进行加密,密钥由56位数据位和8位奇偶校验位组成
参考
参考
[/Quote]

有点复杂
wuyq11 2009-05-01
  • 打赏
  • 举报
回复
DES将明文分割成许多64位大小的块,每个块用64位密钥进行加密,密钥由56位数据位和8位奇偶校验位组成
参考
参考
sjf_kk 2009-05-01
  • 打赏
  • 举报
回复
怎么看以前的帖子,有的说DES的密钥长度是固定的,无法改变
liudanking 2009-05-01
  • 打赏
  • 举报
回复
DES对称加密。有64位(其中8位还不是密钥),和128位……
安全性相对而言不是很高,不过已经能满足很多需求了
FOXMAIL就可以选用des加密后发送。
这个是我以前写过的代码,你可以参考一下——

/*DES加密与解密*/

//DES加密
public static string DESEncrypt(string pToEncrypt, string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray = Encoding.Default.GetBytes(pToEncrypt);
des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
StringBuilder ret = new StringBuilder();
foreach (byte b in ms.ToArray())
{
ret.AppendFormat("{0:X2}", b);
}
ret.ToString();
return ret.ToString();

}
//DES解密
public static string DESDecrypt(string pToDecrypt, string sKey)
{
DESCryptoServiceProvider des = new DESCryptoServiceProvider();

byte[] inputByteArray = new byte[pToDecrypt.Length / 2];
for (int x = 0; x < pToDecrypt.Length / 2; x++)
{
int i = (Convert.ToInt32(pToDecrypt.Substring(x * 2, 2), 16));
inputByteArray[x] = (byte)i;
}

des.Key = ASCIIEncoding.ASCII.GetBytes(sKey);
des.IV = ASCIIEncoding.ASCII.GetBytes(sKey);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();

StringBuilder ret = new StringBuilder();

return System.Text.Encoding.Default.GetString(ms.ToArray());
}

110,571

社区成员

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

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

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