Je dois utiliser un mécanisme de cryptage dans l'un des projets sur lesquels je travaille. J'explorais le cryptage RSA et écrivais quelques exemples de programmes à apprendre. Je comprends que la taille de bloc du cryptage RSA est de 16 octets. J'ai donc donné la chaîne « 12345678 » comme entrée à la fonction ci-dessous:Taille de données cryptée utilisant le cryptage RSA (RSACryptoServiceProvider)
public static string Encrypt (string input) { var byteConverter = new UnicodeEncoding(); RSACryptoServiceProvider cruptoEngine = new RSACryptoServiceProvider(); byte[] output = cruptoEngine.Encrypt (byteConverter.GetBytes (input), false); return BytesToString (output); //BytesToString() converts the bytes to hex string }
Maintenant, la chaîne cryptée que je reçois est de 128 octets (256 caractères hexadécimaux). Cette chaîne est trop grande pour moi. J'espérais que j'obtiendrais 16 octets de données cryptées si je donnais 16 octets de données. Est-ce que je fais quelque chose de mal? Est-ce ce qui est censé arriver? Puis-je en quelque sorte raccourcir les données cryptées?