zoukankan      html  css  js  c++  java
  • c#加密解密方法

     1 using System;
     2 using System.Text;
     3 using System.IO;
     4 using System.Security.Cryptography;
     5 
     6 namespace Logistics 
     7 {
     8     /// <summary>
     9     /// 字符串加密解密类
    10     /// </summary>
    11     public sealed class StringSecurity
    12     {
    13         private StringSecurity() { }
    14 
    15         #region DES 加密/解密
    16 
    17         private static byte[] key = ASCIIEncoding.ASCII.GetBytes("uiertysd");
    18         private static byte[] iv = ASCIIEncoding.ASCII.GetBytes("99008855");
    19 
    20         /// <summary>
    21         /// DES加密。
    22         /// </summary>
    23         /// <param name="inputString">输入字符串。</param>
    24         /// <returns>加密后的字符串。</returns>
    25         public static string DESEncrypt(string inputString)
    26         {
    27             MemoryStream ms = null;
    28             CryptoStream cs = null;
    29             StreamWriter sw = null;
    30 
    31             DESCryptoServiceProvider des = new DESCryptoServiceProvider();
    32             try
    33             {
    34                 ms = new MemoryStream();
    35                 cs = new CryptoStream(ms, des.CreateEncryptor(key, iv), CryptoStreamMode.Write);
    36                 sw = new StreamWriter(cs);
    37                 sw.Write(inputString);
    38                 sw.Flush();
    39                 cs.FlushFinalBlock();
    40                 return Convert.ToBase64String(ms.GetBuffer(), 0, (int)ms.Length);
    41             }
    42             finally
    43             {
    44                 if (sw != null) sw.Close();
    45                 if (cs != null) cs.Close();
    46                 if (ms != null) ms.Close();
    47             }
    48         }
    49 
    50         /// <summary>
    51         /// DES解密。
    52         /// </summary>
    53         /// <param name="inputString">输入字符串。</param>
    54         /// <returns>解密后的字符串。</returns>
    55         public static string DESDecrypt(string inputString)
    56         {
    57             MemoryStream ms = null;
    58             CryptoStream cs = null;
    59             StreamReader sr = null;
    60 
    61             DESCryptoServiceProvider des = new DESCryptoServiceProvider();
    62             try
    63             {
    64                 ms = new MemoryStream(Convert.FromBase64String(inputString));
    65                 cs = new CryptoStream(ms, des.CreateDecryptor(key, iv), CryptoStreamMode.Read);
    66                 sr = new StreamReader(cs);
    67                 return sr.ReadToEnd();
    68             }
    69             finally
    70             {
    71                 if (sr != null) sr.Close();
    72                 if (cs != null) cs.Close();
    73                 if (ms != null) ms.Close();
    74             }
    75         }
    76 
    77         #endregion
    78     }
    79 }
  • 相关阅读:
    LeetCode:前K个高频单词【692】
    LeetCode:前K个高频元素【347】
    Java进阶教程:Lambda表达式与最佳实践
    《图说VR入门》——googleVR 他山之玉
    执行力:我的一些个人实践
    执行力:我的一些个人实践
    设计模式——迭代器模式详解
    P2P平台投宝金融跑路?为什么我没有中雷!
    P2P平台投宝金融跑路?为什么我没有中雷!
    NetWork——关于HTTP、HTTPS的知识总结
  • 原文地址:https://www.cnblogs.com/leizhui/p/11750408.html
Copyright © 2011-2022 走看看