需要將字串加密和解密,并且加密之后需要生成可以正常顯示的字串,沒有亂碼,推薦幾種常用的,如果有原始碼,那就更好了,謝謝!
uj5u.com熱心網友回復:
MD5 加密uj5u.com熱心網友回復:
MD5只能用來簽名,不能用來解密
uj5u.com熱心網友回復:
AES ,加解密需要密鑰uj5u.com熱心網友回復:
TripleDES , 加密后像 BASE64 那樣的,然后將他16進制 好看點
uj5u.com熱心網友回復:
DES 加密/解密using System.Security.Cryptography;
private const string Key = "自定義密鑰";
//加密
public static string DesEncrypt(string encryptString)
{
byte[] keyBytes = Encoding.UTF8.GetBytes(Key.Substring(0, 8));
byte[] keyIV = keyBytes;
byte[] inputByteArray = Encoding.UTF8.GetBytes(encryptString);
DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, provider.CreateEncryptor(keyBytes, keyIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Convert.ToBase64String(mStream.ToArray());
}
//解密
public static string DesDecrypt(string decryptString)
{
try
{
byte[] keyBytes = Encoding.UTF8.GetBytes(Key.Substring(0, 8));
byte[] keyIV = keyBytes;
byte[] inputByteArray = Convert.FromBase64String(decryptString);
DESCryptoServiceProvider provider = new DESCryptoServiceProvider();
MemoryStream mStream = new MemoryStream();
CryptoStream cStream = new CryptoStream(mStream, provider.CreateDecryptor(keyBytes, keyIV), CryptoStreamMode.Write);
cStream.Write(inputByteArray, 0, inputByteArray.Length);
cStream.FlushFinalBlock();
return Encoding.UTF8.GetString(mStream.ToArray());
}
catch (Exception ex)
{
return "";
}
}
uj5u.com熱心網友回復:
DES 加密/解密uj5u.com熱心網友回復:
那你這個需求 直接用base64編碼不就行了? 或者生成byte[] 的字串 也行啊或者說 你有什么特定需求嗎?
uj5u.com熱心網友回復:
AES->BASE64:加密
BASE64->AES:解密
uj5u.com熱心網友回復:
異或 ToBase64轉載請註明出處,本文鏈接:https://www.uj5u.com/net/104722.html
標籤:C#
下一篇:puppeteer Sharp 中類似puppeteer $$eval(selector,pageFunction[])的方法
