C#.NET 1.1 的默认 DES 算法与 Java 的 JCE 的 DES 加密算法不同,需要改为 ECB 模式。

代码如下:


Bruce Lee 
17:56:55
/// <summary>
        
/// DES + Base64 加密
        
/// </summary>
        
/// <param name="strText">密码明文字符串</param></param>
        
/// <param name="strKey">密钥明文字符串</param>
        
/// <returns>已加密字符串</returns>
        public static string DesBase64Encrypt(string strText, string strKey)
        {
            
byte[] byKey = new byte[8]{56,50,55,56,56,55,49,49}; 
            
byte[] byIV = new byte[8] {1,2,3,4,5,6,7,8};
 
            DESCryptoServiceProvider cryptoProvider 
= new DESCryptoServiceProvider(); 
            
int i = cryptoProvider.KeySize;
            cryptoProvider.Mode 
= System.Security.Cryptography.CipherMode.ECB;
            MemoryStream ms 
= new MemoryStream(); 
            CryptoStream cst 
= new CryptoStream(ms,cryptoProvider.CreateEncryptor(byKey,byIV),CryptoStreamMode.Write); 
    
            StreamWriter sw 
= new StreamWriter(cst); 
            sw.Write(strText);
            sw.Flush(); 
            cst.FlushFinalBlock(); 
            sw.Flush(); 
            
return Convert.ToBase64String(ms.GetBuffer(),0,(int)ms.Length);  

实践应用于某电信一个单点登录系统雏形。
 




相关文章:

  • 2021-11-21
  • 2022-12-23
  • 2021-06-19
  • 2021-06-24
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2021-11-16
  • 2022-12-23
  • 2021-06-18
  • 2021-08-23
相关资源
相似解决方案