OL.FrameCore.Infrastructure/Security/DESUtility.cs

(开头部分) 3KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.IO;
using System.Security.Cryptography;
using System.Text;

namespace OL.FrameCore.Infrastructure.Security
{
    public class DESUtility
    {
        const string EncryptKey = "u3%s~0o!";

        /// <summary>
        /// DES加密数据
        /// </summary>
        /// <param name="decryptString">加密密文</param>
        /// <param name="encryptKey">8位加密密钥</param>
        /// <returns></returns>
        public static string DesEncrypt(string decryptString, string encryptKey = EncryptKey)
        {
            if (string.IsNullOrWhiteSpace(decryptString)) return decryptString;
            StringBuilder sb = new StringBuilder();
            using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
            {
                byte[] key = ASCIIEncoding.ASCII.GetBytes(encryptKey);
                byte[] iv = ASCIIEncoding.ASCII.GetBytes(encryptKey);
                byte[] dataByteArray = Encoding.UTF8.GetBytes(decryptString);
                des.Mode = System.Security.Cryptography.CipherMode.CBC;
                des.Key = key;
                des.IV = iv;
                string encrypt = "";
                using (MemoryStream ms = new MemoryStream())
                using (CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write))
                {
                    cs.Write(dataByteArray, 0, dataByteArray.Length);
                    cs.FlushFinalBlock();
                    encrypt = Convert.ToBase64String(ms.ToArray());
                }
                return encrypt;
            }
        }
        /// <summary>
        /// DES解密数据
        /// </summary>
        /// <param name="decryptString">解密密文</param>
        /// <param name="encryptKey">解密密钥</param>
        /// <returns></returns>
        public static string DesDecrypt(string decryptString, string encryptKey = EncryptKey)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(decryptString)) return decryptString;
                byte[] inputByteArray = Convert.FromBase64String(decryptString);
                using (DESCryptoServiceProvider des = new DESCryptoServiceProvider())
                {
                    des.Key = ASCIIEncoding.ASCII.GetBytes(encryptKey);
                    des.IV = ASCIIEncoding.ASCII.GetBytes(encryptKey);
                    System.IO.MemoryStream ms = new System.IO.MemoryStream();
                    using (CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(), CryptoStreamMode.Write))
                    {
后面还有 16 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。