zoukankan      html  css  js  c++  java
  • C# DES 加密解密

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Security.Cryptography;
    using System.IO;
    
    namespace MTR.Library.CommonHelper
    {
        public class DESEncryptHelper
        {
            /// <summary>
            /// Encrypt string
            /// </summary>
            /// <param name="value">The string which to be encrypted.</param>
            /// <returns>The value after being encrypted.</returns>
            public static string Encrypt(string value)
            {
                return Encrypt(value, System.Configuration.ConfigurationManager.AppSettings["pwd"]);
            }
    
            /// <summary>
            /// Encrypt string
            /// </summary>
            /// <param name="value">The string which to be encrypted.</param>
            /// <param name="password">The password.</param>
            /// <returns>The value after being encrypted.</returns>
            public static string Encrypt(string value, string password)
            {
                try
                {
                    byte[] rgbKey = Encoding.UTF8.GetBytes(password.Substring(0, 8));
                    byte[] rgbIV = Encoding.UTF8.GetBytes(password.Substring(0, 8));
                    byte[] inputByteArray = Encoding.UTF8.GetBytes(value);
                    using (DESCryptoServiceProvider dCSP = new DESCryptoServiceProvider())
                    {
                        using (MemoryStream mStream = new MemoryStream())
                        {
                            CryptoStream cStream = new CryptoStream(mStream, dCSP.CreateEncryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
                            cStream.Write(inputByteArray, 0, inputByteArray.Length);
                            cStream.FlushFinalBlock();
                            return Convert.ToBase64String(mStream.ToArray());
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception("Error when encrypting data", ex);
                }
            }
    
            /// <summary>
            /// Decrypt string
            /// </summary>
            /// <param name="value">The string which to be decrypted.</param>
            /// <returns>The value after being decrypted.</returns>
            public static string Decrypt(string value)
            {
                return Decrypt(value, System.Configuration.ConfigurationManager.AppSettings["pwd"]);
            }
    
            /// <summary>
            /// Decrypt string
            /// </summary>
            /// <param name="value">The string which to be decrypted.</param>
            /// <param name="password">The password.</param>
            /// <returns>The value after being decrypted.</returns>
            public static string Decrypt(string value, string password)
            {
                try
                {
                    byte[] rgbKey = Encoding.UTF8.GetBytes(password.Substring(0, 8));
                    byte[] rgbIV = Encoding.UTF8.GetBytes(password.Substring(0, 8));
                    byte[] inputByteArray = Convert.FromBase64String(value);
                    using (DESCryptoServiceProvider DCSP = new DESCryptoServiceProvider())
                    {
                        using (MemoryStream mStream = new MemoryStream())
                        {
                            CryptoStream cStream = new CryptoStream(mStream, DCSP.CreateDecryptor(rgbKey, rgbIV), CryptoStreamMode.Write);
                            cStream.Write(inputByteArray, 0, inputByteArray.Length);
                            cStream.FlushFinalBlock();
                            return Encoding.UTF8.GetString(mStream.ToArray());
                        }
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception("Error when decrypting data", ex);
                }
            }
        }
    }
    View Code
  • 相关阅读:
    发布自己的包到Nuget上
    asp.net core 中的MD5加密
    asp.net core csrf
    KNN算法
    ios测试apk
    python多进程
    机顶盒 gettimeofday()获取毫秒溢出
    Kiggle:Digit Recognizer
    Kaggle:Titanic: Machine Learning from Disaster
    Python抓取微博评论
  • 原文地址:https://www.cnblogs.com/xachary/p/3924815.html
Copyright © 2011-2022 走看看