using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
namespace BzdCMS.Common
{
public class CryptoJS
{
///
/// 解密字符串
///
///
///
///
public static string DecryptString(string str, string myKey)
{
string encryptKeyall = Convert.ToString(myKey); //定义密钥
if (encryptKeyall.Length < 9)
{
for (; ; )
{
if (encryptKeyall.Length < 9)
encryptKeyall += encryptKeyall;
else
break;
}
}
string encryptKey = encryptKeyall.Substring(0, 8);
DESCryptoServiceProvider descsp = new DESCryptoServiceProvider(); //实例化加/解密类对象
descsp.Mode = CipherMode.ECB;
byte[] key = Encoding.UTF8.GetBytes(encryptKey); //定义字节数组,用来存储密钥
byte[] data = Convert.FromBase64String(str);//定义字节数组,用来存储要解密的字符串
byte[] result;
using (MemoryStream outStream = new MemoryStream())
{
using (CryptoStream encStream = new CryptoStream(outStream, descsp.CreateDecryptor(key, key), CryptoStreamMode.Write))
{
encStream.Write(data, 0, data.Length);
encStream.Close();
result = outStream.ToArray();
}
}
return Encoding.UTF8.GetString(result);
}
}
}