标题:C# DES 解密异常
只看楼主
ws9187
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-8-14
结帖率:0
已结贴  问题点数:20 回复次数:2 
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
xydddaxia
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:贵宾
威 望:33
帖 子:466
专家分:2307
注 册:2009-3-20
得分:10 
解密密码不对

站在春哥的肩膀上
2014-08-15 09:56
邓士林
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:淮河河畔
等 级:贵宾
威 望:61
帖 子:2391
专家分:13384
注 册:2013-3-3
得分:10 
不了解加密结解密

Maybe
2014-08-15 20:47



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-434993-1-1.html




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

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