文章出處

在.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 }

 


文章列表




Avast logo

Avast 防毒軟體已檢查此封電子郵件的病毒。
www.avast.com


arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()