這一個函數是當前類。我怎樣稱呼它?如何調用函數
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
//------
//------
String r = EncryptText<Cryptography.Aes>(myTextStringToEncode);
}
private string EncryptText<TSymmetricAlgorithm>(string input) where TSymmetricAlgorithm : SymmetricAlgorithm, new()
{
var pwdBytes = Encoding.UTF8.GetBytes("MY560Secratekey38433661283912");
using (TSymmetricAlgorithm sa = new TSymmetricAlgorithm())
{
ICryptoTransform saEnc = sa.CreateEncryptor(pwdBytes, pwdBytes);
var encBytes = Encoding.UTF8.GetBytes(input);
var resultBytes = saEnc.TransformFinalBlock(encBytes, 0, encBytes.Length);
return Convert.ToBase64String(resultBytes);
}
}
}
提示錯誤「System.Security.Cryptography.Aes '必須是一個具有公共無參數構造函數的非抽象類型,以便將其用作通用類型或方法中的參數'TSymmetricAlgorithm' – Manjoor
啊! SRY! 嘗試'System.Security.Cryptography.AesManaged' VOR例如 檢查給定繼承層次選擇正確的算法... 這是它構造的選擇SymmetricAlgorithm級的新對象的東西進行加密的通用方法。 – TheHe
爲什麼你不知道使用哪種算法?!這是你的代碼... – TheHe