私が取り組んでいるプロジェクトの1つでは、暗号化メカニズムを使用する必要があります。私はRSA暗号化を調べていて、学ぶためにいくつかのサンプルプログラムを書いていました。RSA暗号化(RSACryptoServiceProvider)を使用した暗号化されたデータサイズ
私は、RSA暗号化のブロックサイズが16バイトであることを理解しています。だから私は、関数以下の入力として文字列「12345678」を与えた:
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 }
今、私が手に暗号化された文字列は、128バイト(256進文字)です。この文字列は私にとっては大きすぎます。 16バイトのプレーン・データを与えると、16バイトの暗号化データが得られることを期待していました。私は何か間違っているのですか?これは何が起こるはずですか?暗号化されたデータをどうにか短縮できますか?