zoukankan      html  css  js  c++  java
  • 加密的一些事。。。

    ///<summary>/// 加密字符
        ///</summary>///<param name=pToEncrypt>加密字符串</param>///<param name=skey>加密密钥</param>///<returns>返回加密</returns>publicclass DescMD5
        {
           publicstaticstring skey ="abcdefgh";
    
            publicstring Skey
            {
                get { return skey; }
                set { skey = value; }
            }
    
    
           ///<summary>/// 加密函数
           ///</summary>///<param name="pToEncrypt"></param>///<returns></returns>publicstring EnCrypt(string pToEncrypt)
           {
               //访问数据加密标准(DES)算法的加密服务提供程序 (CSP) 版本的包装对象           DESCryptoServiceProvider des =new DESCryptoServiceProvider();
               des.Key = System.Text.ASCIIEncoding.ASCII.GetBytes(skey);//建立加密对象的密钥和偏移量           des.IV = ASCIIEncoding.ASCII.GetBytes(skey); //原文使用ASCIIEncoding.ASCII方法的GetBytes方法byte[] inputbyteArray = Encoding.Default.GetBytes(pToEncrypt);//把字符串放到byte数组中           MemoryStream ms =new MemoryStream();//创建其支持存储区为内存的流           
               CryptoStream cs =new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);
               cs.Write(inputbyteArray, 0, inputbyteArray.Length);
               cs.FlushFinalBlock();//上面已经完成了把加密后的结果放到内存中去
    
               StringBuilder ret =new StringBuilder();
               foreach (byte b in ms.ToArray())
               {
                   ret.AppendFormat("{0:X2}", b);
                
               
               }
               return ret.ToString();
    
    
    
           }
           
                
    
           ///<summary>/// 解密ESC函数
           ///</summary>///<param name="pToDecrypt">被解密的字符串</param>///<param name="sKey">密钥(只支持8个字节的密钥,同前面的加密密钥相同)</param>///<returns>返回被解密的字符串</returns>publicstring DeCrypt(string pToDecrypt)
           {
    
               DESCryptoServiceProvider des =new DESCryptoServiceProvider();
           
               byte []inputbyteArray=newbyte[pToDecrypt.Length/2];
               for (int i =0; i < pToDecrypt.Length /2; i++)
               {
                   int x = Convert.ToInt32(pToDecrypt.Substring(i *2, 2), 16);
    
                   inputbyteArray[i] = (byte)x;
               
               }
               des.Key = ASCIIEncoding.ASCII.GetBytes(skey);
               des.IV = ASCIIEncoding.ASCII.GetBytes(skey);
               MemoryStream ms =new MemoryStream();
               CryptoStream cs =new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write);
               cs.Write(inputbyteArray, 0, inputbyteArray.Length);
               cs.FlushFinalBlock();
    
    
               return System.Text.Encoding.Default.GetString(ms.ToArray());
    
           }
    
           public DescMD5() { }
    
    
    
        }
  • 相关阅读:
    织梦精准搜索自定义字段搜索证书查询
    织梦一个标签获取当前链接url(首页/列表页/列表分页/内容页/内容页分页)
    织梦dede:arclist按最新修改排序orderby=pubdate无效的解决方法
    织梦likearticle让mytypeid支持多个栏目和子栏目
    织梦站内选择和文件管理器中文乱码的解决方法(utf8编码程序包才会)
    WPFDispatcher示例
    WPF 核心体系结构
    WPF扩展标记
    WPF 路由事件
    WPF 自定义路由事件
  • 原文地址:https://www.cnblogs.com/weiying/p/weiying03_20.html
Copyright © 2011-2022 走看看