Himall.Core/Helper/SecureHelper.cs

(开头部分) 4KB

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

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

namespace Himall.Core.Helper
{
	public class SecureHelper
	{
		private readonly static byte[] _aeskeys;

		private static Regex _base64regex;

		private static Regex _sqlkeywordregex;

		static SecureHelper()
		{
			SecureHelper._aeskeys = new byte[] { 18, 52, 86, 120, 144, 171, 205, 239, 18, 52, 86, 120, 144, 171, 205, 239 };
			SecureHelper._base64regex = new Regex("[A-Za-z0-9\\=\\/\\+]");
			SecureHelper._sqlkeywordregex = new Regex("(select|insert|delete|from|count\\(|drop|table|update|truncate|asc\\(|mid\\(|char\\(|xp_cmdshell|exec|master|net|local|group|administrators|user|or|and|-|;|,|\\(|\\)|\\[|\\]|\\{|\\}|%|@|\\*|!|\\')", RegexOptions.IgnoreCase);
		}

		public SecureHelper()
		{
		}

		public static string AESDecrypt(string decryptStr, string decryptKey)
		{
			string empty;
			if (!string.IsNullOrWhiteSpace(decryptStr))
			{
				decryptKey = StringHelper.SubString(decryptKey, 32);
				decryptKey = decryptKey.PadRight(32, ' ');
				byte[] numArray = Convert.FromBase64String(decryptStr);
				SymmetricAlgorithm bytes = Rijndael.Create();
				bytes.Key = Encoding.UTF8.GetBytes(decryptKey);
				bytes.IV = SecureHelper._aeskeys;
				byte[] numArray1 = new byte[numArray.Length];
				MemoryStream memoryStream = new MemoryStream(numArray);
				try
				{
					CryptoStream cryptoStream = new CryptoStream(memoryStream, bytes.CreateDecryptor(), CryptoStreamMode.Read);
					try
					{
						cryptoStream.Read(numArray1, 0, numArray1.Length);
						cryptoStream.Close();
						memoryStream.Close();
					}
					finally
					{
						if (cryptoStream != null)
						{
							((IDisposable)cryptoStream).Dispose();
						}
					}
				}
				finally
				{
					if (memoryStream != null)
后面还有 118 行代码,购买后查看完整代码

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

AI 解读

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

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