当前位置: 首页 > news >正文

cookie操作类(加密,获取,删除)

  1 using System;
  2 using System.IO;
  3 using System.Text;
  4 using System.Diagnostics;
  5 using System.Web.Security;
  6 using System.Security;
  7 using System.Security.Cryptography;
  8 using System.Web;
  9 using System.Web.UI;
 10 using System.Web.UI.WebControls;
 11 
 12 namespace ASPNET3DBBook
 13 {
 14  public class EncryptString
 15  {   ///定义64位和192位的Kev和IV
 16   private static byte[] Key64 = {42, 16, 93, 156, 78, 4, 218, 32};
 17   private static byte[] IV64  = {55, 103, 246, 79, 36, 99, 167, 3};
 18   private static byte[] Key192 = {42, 16, 93, 156, 78, 4, 218, 32,15, 167, 44, 80, 26, 250, 155, 112,2, 94, 11, 204, 119, 35, 184, 197};
 19   private static byte[] IV192  = {55, 103, 246, 79, 36, 99, 167, 3,42, 5, 62, 83, 184, 7, 209, 13,145, 23, 200, 58, 173, 10, 121, 222};
 20 
 21   /// <summary>
 22   /// 加密字符串
 23   /// </summary>
 24   /// <param name="valueString"></param>
 25   /// <returns></returns>
 26   public static String Encrypt(String valueString)
 27   {
 28    if(valueString != "")
 29    {   ///创建加密的provider
 30     DESCryptoServiceProvider desprovider = new DESCryptoServiceProvider();
 31     ///创建加密的流
 32     MemoryStream memoryStream = new MemoryStream();    
 33     CryptoStream cryptoStream = new CryptoStream(memoryStream,desprovider.CreateEncryptor
 34 
 35                                (Key64,IV64),CryptoStreamMode.Write);
 36     StreamWriter writerStream = new StreamWriter(cryptoStream);
 37     ///加密给定的字符串
 38     writerStream.Write(valueString);
 39     writerStream.Flush();
 40     cryptoStream.FlushFinalBlock();
 41     ///返回加密后的字符串
 42     memoryStream.Flush();
 43     return(Convert.ToBase64String(memoryStream.GetBuffer(),0,(int)memoryStream.Length));
 44    }
 45    return(null);
 46   }
 47 
 48   /// <summary>
 49   /// 解密字符串
 50   /// </summary>
 51   /// <param name="valueString"></param>
 52   /// <returns></returns>
 53   public static String Decrypt(String valueString)
 54   {
 55    if(valueString != "")
 56    {   ///创建解密的provider
 57     DESCryptoServiceProvider desprovider = new DESCryptoServiceProvider();
 58     byte[] buffer = Convert.FromBase64String(valueString);
 59     MemoryStream memoryStream = new MemoryStream();
 60     ///解密给定的字符串
 61     CryptoStream cryptoStream = new CryptoStream(memoryStream,desprovider.CreateEncryptor
 62 
 63                                 (Key64,IV64),CryptoStreamMode.Read);
 64     StreamReader readerStream = new StreamReader(cryptoStream);
 65     return(readerStream.ReadToEnd());
 66    }
 67    return(null);
 68   }
 69 
 70   /// <summary>
 71   /// DES加密方法
 72   /// </summary>
 73   /// <param name="valueString"></param>
 74   /// <returns></returns>
 75   public static String EncryptTripleDES(String valueString)
 76   {
 77    if(valueString != "")
 78    {  
 79 
 80     ///创建加密的provider
 81     TripleDESCryptoServiceProvider triprovider = new TripleDESCryptoServiceProvider();
 82     ///创建加密的流
 83     MemoryStream memoryStream = new MemoryStream();
 84     CryptoStream cryptoStream = new CryptoStream(memoryStream,triprovider.CreateEncryptor
 85 
 86                                (Key192,IV192),CryptoStreamMode.Write);
 87     StreamWriter writerStream = new StreamWriter(cryptoStream);
 88     ///加密给定的字符串
 89     writerStream.Write(valueString);
 90     writerStream.Flush();
 91     cryptoStream.FlushFinalBlock();
 92     ///返回加密后的字符串
 93     memoryStream.Flush();
 94     return(Convert.ToBase64String(memoryStream.GetBuffer(),0,(int)memoryStream.Length));
 95    }
 96    return(null);
 97   }
 98 
 99   /// <summary>
100   /// DES解密方法
101   /// </summary>
102   /// <param name="valueString"></param>
103   /// <returns></returns>
104   public static String DecryptTripleDES(String valueString)
105   {
106    if(valueString != "")
107    {   ///创建加密的provider
108     TripleDESCryptoServiceProvider triprovider = new TripleDESCryptoServiceProvider();
109     ///创建加密的流
110     byte[] buffer = Convert.FromBase64String(valueString);
111     MemoryStream memoryStream = new MemoryStream();
112     CryptoStream cryptoStream = new CryptoStream(memoryStream,triprovider.CreateEncryptor
113 
114                                 (Key192,IV192),CryptoStreamMode.Read);
115     StreamReader readerStream = new StreamReader(cryptoStream);
116     return(readerStream.ReadToEnd());
117    }
118    return(null);
119   }
120  }
121 
122  public class CookieEncrypt
123  {  
124   /// <summary>
125   /// 设置Cookie
126   /// </summary>
127   /// <param name="cookie"></param>
128   public static void SetCookie(HttpCookie cookie)
129   {
130    HttpContext.Current.Response.Cookies.Set(cookie);
131   }
132 
133   /// <summary>
134   /// 设置Cookie
135   /// </summary>
136   /// <param name="key"></param>
137   /// <param name="valueString"></param>
138   public static void SetCookie(String key,String valueString)
139   {   ///获取关键字和值
140    key = HttpContext.Current.Server.UrlEncode(key);
141    valueString = HttpContext.Current.Server.UrlEncode(valueString);
142    ///设置Cookie
143    HttpCookie cookie = new HttpCookie(key,valueString);
144    SetCookie(cookie);
145   }
146 
147   /// <summary>
148   /// 设置Cookie
149   /// </summary>
150   /// <param name="key"></param>
151   /// <param name="valueString"></param>
152   /// <param name="expires"></param>
153   public static void SetCookie(String key,String valueString,DateTime expires)
154   {   ///获取关键字和值
155    key = HttpContext.Current.Server.UrlEncode(key);
156    valueString = HttpContext.Current.Server.UrlEncode(valueString);
157    ///设置Cookie
158    HttpCookie cookie = new HttpCookie(key,valueString);
159    cookie.Expires = expires;
160    SetCookie(cookie);
161   }
162 
163   /// <summary>
164   /// 设置使用DES方法加密之后的Cookie
165   /// </summary>
166   /// <param name="key"></param>
167   /// <param name="valueString"></param>
168   public static void SetTripleDESEncryptedCookie(String key,String valueString)
169   {  
170 
171    ///获取关键字和值
172    key = EncryptString.EncryptTripleDES(key);
173    valueString = EncryptString.EncryptTripleDES(valueString);
174    ///设置Cookie
175    SetCookie(key,valueString);
176   }
177 
178   /// <summary>
179   /// 设置使用DES方法加密之后的Cookie
180   /// </summary>
181   /// <param name="key"></param>
182   /// <param name="valueString"></param>
183   /// <param name="expires"></param>
184   public static void SetTripleDESEncryptedCookie(String key,String valueString,DateTime expires)
185   {  
186 
187    ///获取关键字和值
188    key = EncryptString.EncryptTripleDES(key);
189    valueString = EncryptString.EncryptTripleDES(valueString);
190    ///设置Cookie
191    SetCookie(key,valueString,expires);
192   }
193 
194   /// <summary>
195   /// 设置加密之后的Cookie
196   /// </summary>
197   /// <param name="key"></param>
198   /// <param name="valueString"></param>
199   public static void SetEncryptedCookie(String key,String valueString)
200   {   ///获取关键字和值
201    key = EncryptString.Encrypt(key);
202    valueString = EncryptString.Encrypt(valueString);
203    ///设置Cookie
204    SetCookie(key,valueString);
205   }
206 
207   /// <summary>
208   /// 设置加密之后的Cookie
209   /// </summary>
210   /// <param name="key"></param>
211   /// <param name="valueString"></param>
212   /// <param name="expires"></param>
213   public static void SetEncryptedCookie(String key,String valueString,DateTime expires)
214   {  
215 
216    ///获取关键字和值
217    key = EncryptString.Encrypt(key);
218    valueString = EncryptString.Encrypt(valueString);
219    ///设置Cookie
220    SetCookie(key,valueString,expires);
221   }
222 
223   /// <summary>
224   /// 获取DES方法加密之后的Cookie
225   /// </summary>
226   /// <param name="key"></param>
227   /// <returns></returns>
228   public static String GetTripleDESEncryptedCookieValue(String key)
229   {  
230 
231    ///获取关键字和值
232    key = EncryptString.EncryptTripleDES(key);
233    String valueString = GetCookieValue(key);
234    ///获取Cookie
235    valueString = EncryptString.DecryptTripleDES(valueString);
236    return(valueString);   
237   }
238 
239   /// <summary>
240   /// 获取DES方法加密之后的Cookie
241   /// </summary>
242   /// <param name="key"></param>
243   /// <returns></returns>
244   public static String GetEncryptedCookieValue(String key)
245   {  
246 
247    ///获取关键字和值
248    key = EncryptString.Encrypt(key);
249    String valueString = GetCookieValue(key);
250    ///获取Cookie
251    valueString = EncryptString.Decrypt(valueString);
252    return(valueString);   
253   }
254 
255   /// <summary>
256   /// 获取Cookie
257   /// </summary>
258   /// <param name="key"></param>
259   /// <returns></returns>
260   public static HttpCookie GetCookie(String key)
261   {  
262 
263    ///获取关键字和值
264    key = HttpContext.Current.Server.UrlEncode(key);
265    ///获取Cookie
266    return(HttpContext.Current.Request.Cookies.Get(key));
267   }
268 
269   /// <summary>
270   /// 获取Cookie
271   /// </summary>
272   /// <param name="key"></param>
273   /// <returns></returns>
274   public static String GetCookieValue(String key)
275   {  
276 
277    ///获取关键字和值
278    String valueString = GetCookie(key).Value;
279    ///获取Cookie
280    valueString = HttpContext.Current.Server.UrlDecode(valueString);
281    return(valueString);
282   }
283  }
284 }

 

http://www.jsqmd.com/news/172862/

相关文章:

  • 解决 Tauri 中 shell.open 报错:Uncaught (in promise) shell.open not allowed URL
  • 小学生刚近视!怎么让孩子近视度数涨得慢些?
  • 博客的烟火气:在技术、生活与热爱之间找到平衡点
  • 基于深度学习的杂草检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
  • 高频隔离型光伏离网单相逆变器控制算法探究
  • 小学生近视加深太快怎么控制?这些方法你用对了吗?
  • Tauri框架入门:基本概念与快速使用指南
  • Linux top 命令详解:系统监控的必备工具
  • 西门子Smart200 PLC 自抗扰控制(ADRC):超越传统的PID算法
  • 邮件错发怎么办 撤回防泄密关键一步!
  • 智能化锂矿选矿线:接近传感器的耐磨挑战
  • vue基于python的牛奶品牌商城评价积分系统_r144o
  • Faulhaber Coreless 直流电机 2338S006 使用指南-PART-MOTOR-derivative feedback
  • 【linux】Linux系统中双连字符 --的主要作用
  • SHA-256的“数据热身运动“详解
  • 禅道使用详解(常用版)
  • vue基于ssm技术的婚纱照摄影预约系统_dbx29
  • 《程序员修炼之道》笔记九
  • 让系统“杀不死”:同步与异步场景下的弹性设计模式手册
  • 什么是品牌全案?新品牌如何制定品牌规划?
  • Hive与HBase深度对比:大数据存储与查询的最佳实践
  • 开源推荐--RustDesk:基于Rust的远程桌面神器,彻底告别TeamViewer/AnyDesk!
  • 资金是企业的血液:启动资金规划与融资路径
  • 2026年企业微信服务商首选哪家?160家500强企业选择微盛·企微管家的底层逻辑
  • YOLOv8 FCOS无锚框全卷积单阶段检测器
  • YOLOv8代码结构解读:ultralytics项目目录详解
  • YOLO系列再升级!YOLOv8镜像集成PyTorch GPU加速支持
  • 新品牌找电商代运营公司注意事项
  • scimed函数发布,轻松完成中介分析
  • 【NPU】【精度】【数值计算】Adam算子计算顺序不同引发的精度问题