You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
83 lines
2.8 KiB
83 lines
2.8 KiB
using System.IO;
|
|
using System.Security.Cryptography;
|
|
using System.Text;
|
|
|
|
namespace BBWYB.Common.Extensions
|
|
{
|
|
public static class EncryptionExtension
|
|
{
|
|
|
|
public static string Md5Encrypt(this string originStr)
|
|
{
|
|
using (var md5 = MD5.Create())
|
|
{
|
|
return string.Join(string.Empty, md5.ComputeHash(Encoding.UTF8.GetBytes(originStr)).Select(x => x.ToString("x2")));
|
|
}
|
|
}
|
|
|
|
//AES加密 传入,要加密的串和, 解密key
|
|
public static string AESEncrypt(this string input)
|
|
{
|
|
var key = "dataplatform2019";
|
|
var ivStr = "1012132405963708";
|
|
|
|
var encryptKey = Encoding.UTF8.GetBytes(key);
|
|
var iv = Encoding.UTF8.GetBytes(ivStr); //偏移量,最小为16
|
|
using (var aesAlg = Aes.Create())
|
|
{
|
|
using (var encryptor = aesAlg.CreateEncryptor(encryptKey, iv))
|
|
{
|
|
using (var msEncrypt = new MemoryStream())
|
|
{
|
|
using (var csEncrypt = new CryptoStream(msEncrypt, encryptor,
|
|
CryptoStreamMode.Write))
|
|
|
|
using (var swEncrypt = new StreamWriter(csEncrypt))
|
|
{
|
|
swEncrypt.Write(input);
|
|
}
|
|
var decryptedContent = msEncrypt.ToArray();
|
|
|
|
return Convert.ToBase64String(decryptedContent);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
public static string AESDecrypt(this string cipherText)
|
|
{
|
|
var fullCipher = Convert.FromBase64String(cipherText);
|
|
|
|
var ivStr = "1012132405963708";
|
|
var key = "dataplatform2019";
|
|
|
|
var iv = Encoding.UTF8.GetBytes(ivStr);
|
|
var decryptKey = Encoding.UTF8.GetBytes(key);
|
|
|
|
using (var aesAlg = Aes.Create())
|
|
{
|
|
using (var decryptor = aesAlg.CreateDecryptor(decryptKey, iv))
|
|
{
|
|
string result;
|
|
using (var msDecrypt = new MemoryStream(fullCipher))
|
|
{
|
|
using (var csDecrypt = new CryptoStream(msDecrypt, decryptor, CryptoStreamMode.Read))
|
|
{
|
|
using (var srDecrypt = new StreamReader(csDecrypt))
|
|
{
|
|
result = srDecrypt.ReadToEnd();
|
|
}
|
|
}
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}
|
|
}
|
|
|
|
public static string Base64Encrypt(this string originStr)
|
|
{
|
|
return Convert.ToBase64String(Encoding.UTF8.GetBytes(originStr));
|
|
}
|
|
}
|
|
}
|
|
|