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 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
