QSMP.Utility/Security/Encrypt.cs

(开头部分) 7KB

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

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

namespace QSMP.Utility.Security
{
    /// <summary>
    /// 字符串加密解密方法扩展类。
    /// </summary>
    public static class Encrypt
    {
        #region DES加密解密

        /// <summary>
        /// 默认密钥。
        /// </summary>
        private const string DESENCRYPT_KEY = "hsdjxlzf";

        /// <summary>
        /// DES加密,使用自定义密钥。
        /// </summary>
        /// <param name="text">待加密的明文</param>
        /// <param name="key">8位字符的密钥字符串</param>
        /// <returns></returns>
        public static string DESEncrypt(this string text, string key)
        {
            if (key.Length != 8)
            {
                key = DESENCRYPT_KEY;
            }
            DESCryptoServiceProvider des = new DESCryptoServiceProvider();
            byte[] inputByteArray = Encoding.GetEncoding("UTF-8").GetBytes(text);

            byte[] a = ASCIIEncoding.ASCII.GetBytes(key);
            des.Key = ASCIIEncoding.ASCII.GetBytes(key);
            des.IV = ASCIIEncoding.ASCII.GetBytes(key);
            MemoryStream ms = new MemoryStream();
            CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(), CryptoStreamMode.Write);

            cs.Write(inputByteArray, 0, inputByteArray.Length);
            cs.FlushFinalBlock();

            StringBuilder ret = new StringBuilder();
            foreach (byte b in ms.ToArray())
            {
                ret.AppendFormat("{0:X2}", b);//将第一个参数转换为十六进制数,长度为2,不足前面补0
            }
            return ret.ToString();
        }

        /// <summary>
        /// DES解密,使用自定义密钥。
        /// </summary>
        /// <param name="cyphertext">待解密的秘文</param>
        /// <param name="key">必须是8位字符的密钥字符串(不能有特殊字符)</param>
        /// <returns></returns>
        public static string DESDecrypt(this string cyphertext, string key)
        {
            if (key.Length != 8)
后面还有 135 行代码,解锁后查看完整代码

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

AI 解读

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

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