| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 417 人关注过本帖
标题:C# DES 解密异常
取消只看楼主 加入收藏
ws9187
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-8-14
结帖率:0
收藏
已结贴  问题点数:20 回复次数:0 
C# DES 解密异常
//C# DES解密方法         
 public string Decrypt(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;         
     }        
     byte [] inputByteArraykey = new byte[sKey.Length / 2];        
     for (int x = 0; x < sKey.Length / 2; x++)         
    {              
         int i = (Convert.ToInt32(sKey.Substring(x * 2, 2), 16));      
         inputByteArraykey[x] = (byte)i;        
    }   
    des.Key = (byte[])inputByteArraykey;        
    des.IV = (byte[])inputByteArraykey;        
    MemoryStream ms = new MemoryStream();        
    CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);           
    cs.Write(inputByteArray, 0, inputByteArray.Length);        
    try        
    {           
         cs.FlushFinalBlock();      
    }        
    catch (SystemException ex)        
    {         
           System.Windows.Forms.MessageBox.Show(ex.Message);         
    }   
    StringBuilder ret = new StringBuilder();      
    return System.Text.Encoding.Default.GetString(ms.ToArray());   
}
   

   自己建的一个测试数据,pToDecrypt=“D9932D9DH4021B68EC91C730291EC88C”,Skey="1472583690123456",skey为16位的数据,DES解密的密钥需要8字节的skey,我按2位合为一个字节进行测试,在catch里面就会捕捉异常,“不正确的数据”,这是什么原因呢?

[ 本帖最后由 ws9187 于 2014-8-14 09:32 编辑 ]
搜索更多相关主题的帖子: public 
2014-08-14 09:30
快速回复:C# DES 解密异常
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.070328 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved