私はintやlongのような単純なものを暗号化しようとしています。私が見つけた最も簡単な方法は、次のようになります。.NetシンプルなRSA暗号化
int num = 2;
RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
byte[] numBytes = BitConverter.GetBytes(num);
byte[] encryptedBytes = rsa.Encrypt(numBytes, true);
問題は、encryptedBytesは128バイトです。暗号化された結果が入力と同じ長さのバイトであるデータを暗号化するにはどうしたらいいですか?
RSACryptoServiceProvider(512)またはRSACryptoServiceProvider(384)を定義すると結果が短くなることがありますが、それはそれほど低いものです。
おかげで私は行く4つのまたは8バイトを必要とし、4または8バイト(それぞれ)出てきます!
***明確化:
私は小さな何か(つまり、4または8バイト)を暗号化し、同様のサイズの結果を取得したいです。いくつかのモジュレーションやシフト操作ではなく、いくつかのキー(ライブラリが組み込まれています)を使用しながら、C#でそれを行う最も簡単な方法は何ですか?
なぜ小さなオブジェクトを暗号化しますか?全体的な成果を上げたいと思っている方は、より良い回答を得るために役立つかもしれません –