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
  • 相关阅读:
    mybatis 对string类型判断比较 group case when then 综合
    利用Apache shiro SimpleHash 加密字符串
    linux下用rpm 安装jdk
    运行java程序的时候出现Exception in thread "main" java.lang.UnsupportedClassVersionError:
    linux如何查看端口被哪个进程占用?
    Linux如何查看JDK的安装路径
    Linux中查看jdk版本
    linux修改/etc/profile权限
    db2,oracle,mysql ,sqlserver限制返回的行数
    什么是T-SQL
  • 原文地址:https://www.cnblogs.com/xachary/p/3924815.html
Copyright © 2011-2022 走看看