J'ai un service nommé CryptoService qui hérite de l'interface ICryptoService qui consiste en 2 méthodes Crypto Decrypto.Cryptage et décryptage en C# à l'aide de MD5CryptoServiceProvider
Le cryptage d'une chaîne est en cours de fonctionnement, mais le résultat du hachage Decryption retournera ma clé au lieu de la chaîne déchiffrée.
voici mon code de cryptage:
private string _salt = "*[email protected]#$%^&*()14344*";
private string Crypto(string text)
{
var hashmd5 = new MD5CryptoServiceProvider();
byte[] toEncryptArray = Encoding.UTF8.GetBytes(_salt);
byte[] keyArray = hashmd5.ComputeHash(Encoding.UTF8.GetBytes(_salt));
hashmd5.Clear();
TripleDesProvider.Key = keyArray;
TripleDesProvider.Mode = CipherMode.ECB;
TripleDesProvider.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = TripleDesProvider.CreateEncryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
return Convert.ToBase64String(resultArray, 0, resultArray.Length);
}
mon code de décryptage:
private string Decrypto(string text)
{
try
{
var hashmd5 = new MD5CryptoServiceProvider();
byte[] toEncryptArray = Convert.FromBase64String(text);
byte[] keyArray = hashmd5.ComputeHash(Encoding.UTF8.GetBytes(_salt));
hashmd5.Clear();
TripleDesProvider.Key = keyArray;
TripleDesProvider.Mode = CipherMode.ECB;
TripleDesProvider.Padding = PaddingMode.PKCS7;
ICryptoTransform cTransform = TripleDesProvider.CreateDecryptor();
byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, 0, toEncryptArray.Length);
TripleDesProvider.Clear();
return Encoding.UTF8.GetString(resultArray);
//return Encoding.UTF8.GetString(resultArray);
}
catch
{
return string.Empty;
}
}
fourni ici la capture d'écran en action.
voici les références de mes codes j'ai trouvé dans Internet https://www.codeproject.com/Articles/14150/Encrypt-and-Decrypt-Data-with-C
Merci ..
Il serait préférable que vous puissiez laisser tomber votre opinion ou votre idée ici au lieu de faire une réponse négative à ma question – Chris