Cette fonction est la classe actuelle. Comment puis-je l'appeler?Comment appeler une fonction
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);
}
}
}
Il donne l'erreur « System.Security.Cryptography.Aes 'doit être un type non-abstrait avec un constructeur public sans paramètre afin de l'utiliser comme paramètre' TSymmetricAlgorithm 'dans le type ou la méthode générique – Manjoor
ah! SRY! try 'System.Security.Cryptography.AesManaged' vor exemple vérifiez la hiérarchie d'héritage donnée pour choisir l'algorithme correct ... C'est une méthode générique qui construit un nouvel objet de la classe SymmetricAlgorithm choisie pour crypter les choses. – TheHe
pourquoi ne savez-vous pas quel algorithme utiliser?! c'est ton code ... – TheHe