zoukankan      html  css  js  c++  java
  • 利用DES,C#加密,Java解密代码

      //C#加密
      /// <summary>
            /// 进行DES加密。
            /// </summary>
            /// <param name="pToEncrypt">要加密的字符串。</param>
            /// <param name="sKey">密钥,且必须为8位。</param>
            /// <returns>以Base64格式返回的加密字符串。</returns>
              public static string Encode(string str)  
            {
                string keyXml = CommonMethor.GetEncrptKeyByRpt(Contant.contantUrl+"api/sys/getEncrptKey");
                XmlDocument doc = new XmlDocument();
                doc.LoadXml(keyXml);
                XmlNode root = doc.SelectSingleNode("string");//当节点Workflow带有属性是,使用SelectSingleNode无法读取 
    
                string key = root.LastChild.InnerText;
                DESCryptoServiceProvider provider = new DESCryptoServiceProvider();  
                provider.Key = Encoding.ASCII.GetBytes(key.Substring(0, 8));  
                provider.IV = Encoding.ASCII.GetBytes(key.Substring(0, 8));  
                byte[] bytes = Encoding.GetEncoding("UTF-8").GetBytes(str);  
                MemoryStream stream = new MemoryStream();  
                CryptoStream stream2 = new CryptoStream(stream, provider.CreateEncryptor(), CryptoStreamMode.Write);  
                stream2.Write(bytes, 0, bytes.Length);  
                stream2.FlushFinalBlock();  
                StringBuilder builder = new StringBuilder();  
                foreach (byte num in stream.ToArray())  
                {  
                    builder.AppendFormat("{0:X2}", num);  
                }  
                stream.Close();  
                return builder.ToString();  
                }
                
                
    java解密
    
    public static void main(String[] args) {
    //        String decryptToken = null;
    //        String key = "JM@XBCRM";
    //        String token = "C36B90D474184911EE21D4330730847E50F34F57DB92D38AA083AA66064F658C";
    //        try
    //        {
    //            decryptToken = ClientUtils.decrypt(token,key);
    //            decryptToken = java.net.URLDecoder.decode(decryptToken, "utf-8");
    //            System.out.println("加密串为[" + token + "],解密后为[" + decryptToken + "]");
    //        } catch (Exception e)
    //        {
    //            e.printStackTrace();
    //        }
        }

     原创文章如转载,请注明出处

  • 相关阅读:
    Redundant Paths 分离的路径(边双连通分量)
    bzoj2208 [Jsoi2010] 连通数(tarjan点双连通分量 // dfs)
    [bzoj3331] [BeiJing2013] 压力(tarjan 点双连通分量)
    [ BZOJ1123 ] BLO(tarjan点双连通分量)
    bitset小总结
    牛客328B Rabbit的工作(1)
    # Codeforces Round #529(Div.3)个人题解
    HDU5957 Query on a graph(拓扑找环,BFS序,线段树更新,分类讨论)
    istringstream()函数的用法
    codeforces 1077F1
  • 原文地址:https://www.cnblogs.com/pongyc/p/7514536.html
Copyright © 2011-2022 走看看