QiFeng.ZWY.Utility/Security/DesLib.cs
(开头部分) 13KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace QiFeng.LMSD.Utility.Security
{
public class DesLib
{
//默认密钥向量
private static byte[] IvByte = { 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF };
/// <summary>
/// DES加密字符串
/// </summary>
/// <param name="encryptString">待加密的字符串</param>
/// <param name="encryptKey">加密密钥,要求为8位</param>
/// <param name="padMode">加密填充方式</param>
/// <param name="cipherMode">加密模式</param>
/// <param name="outHelixText">是否将加密BYTE转为十六进制字符,默认为BASE64编码后字符串</param>
/// <param name="ivSameToEncryptKey">是否加密向量与加密密钥一致,默认使用类默认密钥向量</param>
/// <returns>加密成功返回加密后的字符串,失败返回源串</returns>
public static string EncryptDes(string encryptString, string encryptKey, PaddingMode padMode,
CipherMode cipherMode, bool outHelixText = false, bool ivSameToEncryptKey = false)
{
try
{
var rgbKey = Encoding.UTF8.GetBytes(encryptKey.Substring(0, 8));
var inputByteArray = Encoding.UTF8.GetBytes(encryptString);
var dCsp = new DESCryptoServiceProvider
{
Padding = padMode,
Mode = cipherMode,
Key = rgbKey,
IV = ivSameToEncryptKey ? rgbKey : IvByte
};
var mStream = new MemoryStream();
var cStream = new CryptoStream(mStream, dCsp.CreateEncryptor(), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
cStream.Close();
if (outHelixText)
{
var builder = new StringBuilder();
foreach (byte num in mStream.ToArray())
{
builder.AppendFormat("{0:X2}", num);
}
return builder.ToString();
}
return Convert.ToBase64String(mStream.ToArray());
}
catch (Exception ex)
后面还有 284 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。