关于.net和java des加密

在.net和java环境中对于des加密,有几点要协同的地方:

  1. 密钥和密钥向量Key IV
  2. 加密模式CipherMode
  3. 填充模式PaddingMode
  4. 密文编码方式

下面一段.net的des加密方式

 1 public string GetConsoleUrl(string vmName)
 2 {
 3     string rs = string.Empty;
 4     using (CloudContext db = new CloudContext())
 5     {
 6         var configs = new ConfigurationRepository(db).GetAll().Where(x => x.Key.Equals("ConsoleUrl") || x.Key.Equals("ConsoleKey"));
 7         if (configs != null)
 8         {
 9             string url = string.Empty;
10             string key = string.Empty;
11 
12             if (configs.FirstOrDefault(x => x.Key.Equals("ConsoleUrl")) != null)
13                 url = configs.First(x => x.Key.Equals("ConsoleUrl")).Value;
14             if (configs.FirstOrDefault(x => x.Key.Equals("ConsoleKey")) != null)
15                 key = configs.First(x => x.Key.Equals("ConsoleKey")).Value;
16 
17             if (!string.IsNullOrEmpty(url) && !string.IsNullOrEmpty(key))
18             {
19                 byte[] rgbKey = Encoding.UTF8.GetBytes(key);
20                 byte[] inputByteArray = Encoding.UTF8.GetBytes(vmName + "|" + DateTime.Now.ToString("yyyyMMddhhmmssfff"));
21                 byte[] rgbIV = rgbKey;
22 
23                 DESCryptoServiceProvider des = new DESCryptoServiceProvider();
24                 des.Mode = CipherMode.ECB;
25                 MemoryStream ms = new MemoryStream();
26                 CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
27                 cs.Write(inputByteArray, 0, inputByteArray.Length);
28                 cs.FlushFinalBlock();
29 
30                 StringBuilder sb = new StringBuilder();
31                 foreach (byte b in ms.ToArray())
32                 {
33                     sb.AppendFormat("{0:X2}", b);   
34                 }
35                 rs = string.Format("http://{0}?token={1}", url, sb.ToString());
36                 ms.Close();
37                 ms.Dispose();
38 
39                 return rs;
40             }
41         }
42     }
43     return rs;
44 }

关于.net和java des加密,古老的榕树,5-wow.com

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。