首页 > 编程语言 > 详细

关于.net和java des加密

时间:2014-03-20 15:59:17      阅读:361      评论:0      收藏:0      [点我收藏+]

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

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

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

bubuko.com,布布扣
 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 }
bubuko.com,布布扣

关于.net和java des加密,布布扣,bubuko.com

关于.net和java des加密

原文:http://www.cnblogs.com/yuefei/p/3613480.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!