RSACryptoServiceProvider.Encrypt メソッド
アセンブリ: mscorlib (mscorlib.dll 内)

Dim instance As RSACryptoServiceProvider Dim rgb As Byte() Dim fOAEP As Boolean Dim returnValue As Byte() returnValue = instance.Encrypt(rgb, fOAEP)
- fOAEP
Microsoft Windows XP 以降を実行するコンピュータだけで使用できる OAEP パディングを使用して、直接 RSA 暗号化を実行する場合は true。それ以外の場合は、PKCS#1 v1.5 パディングを使用することを表す false。
暗号化されたデータ。


Microsoft Windows の各バージョンがサポートしているパディングと、オペレーティング システムとパディングの各組み合わせで許可される rgb の最大長の一覧表を次に示します。
Direct Encryption (PKCS#1 v1.5) | 高度暗号化パックがインストールされている Microsoft Windows 2000 以降。 | |
Direct Encryption、OAEP パディングともにサポートなし | Microsoft Windows 98、Microsoft Windows Millennium、および高度暗号化パックがインストールされていない Windows 2000 以降。 |

RSACryptoServiceProvider オブジェクトを (相手から送信された) 公開キーの値に初期化し、RijndaelManaged アルゴリズムを使用してセッション キーを生成して、RSACryptoServiceProvider オブジェクトを使用してセッション キーを暗号化するコード例を次に示します。この方式を使用すると、セッション キーを RSA 秘密キーの所有者に返送し、双方でセッション キーを使用して、暗号化されたデータを交換できます。
Imports System Imports System.Security.Cryptography Class RSACSPSample Shared Sub Main() Try 'initialze the byte arrays to the public key information. Dim PublicKey As Byte() = {214, 46, 220, 83, 160, 73, 40, 39, 201, 155, 19, 202, 3, 11, 191, 178, 56, 74, 90, 36, 248, 103, 18, 144, 170, 163, 145, 87, 54, 61, 34, 220, 222, 207, 137, 149, 173, 14, 92, 120, 206, 222, 158, 28, 40, 24, 30, 16, 175, 108, 128, 35, 230, 118, 40, 121, 113, 125, 216, 130, 11, 24, 90, 48, 194, 240, 105, 44, 76, 34, 57, 249, 228, 125, 80, 38, 9, 136, 29, 117, 207, 139, 168, 181, 85, 137, 126, 10, 126, 242, 120, 247, 121, 8, 100, 12, 201, 171, 38, 226, 193, 180, 190, 117, 177, 87, 143, 242, 213, 11, 44, 180, 113, 93, 106, 99, 179, 68, 175, 211, 164, 116, 64, 148, 226, 254, 172, 147} Dim Exponent As Byte() = {1, 0, 1} 'Values to store encrypted symmetric keys. Dim EncryptedSymmetricKey() As Byte Dim EncryptedSymmetricIV() As Byte 'Create a new instance of RSACryptoServiceProvider. Dim RSA As New RSACryptoServiceProvider() 'Create a new instance of RSAParameters. Dim RSAKeyInfo As New RSAParameters() 'Set RSAKeyInfo to the public key values. RSAKeyInfo.Modulus = PublicKey RSAKeyInfo.Exponent = Exponent 'Import key parameters into RSA. RSA.ImportParameters(RSAKeyInfo) 'Create a new instance of the RijndaelManaged class. Dim RM As New RijndaelManaged() 'Encrypt the symmetric key and IV. EncryptedSymmetricKey = RSA.Encrypt(RM.Key, False) EncryptedSymmetricIV = RSA.Encrypt(RM.IV, False) Console.WriteLine("RijndaelManaged Key and IV have been encrypted with RSACryptoServiceProvider.") 'Catch and display a CryptographicException 'to the console. Catch e As CryptographicException Console.WriteLine(e.Message) End Try End Sub End Class
using System; using System.Security.Cryptography; class RSACSPSample { static void Main() { try { //initialze the byte arrays to the public key information. byte[] PublicKey = {214,46,220,83,160,73,40,39,201,155,19,202,3,11,191 ,178,56, 74,90,36,248,103,18,144,170,163,145,87,54,61,34 ,220,222, 207,137,149,173,14,92,120,206,222,158,28,40,24 ,30,16,175, 108,128,35,230,118,40,121,113,125,216,130,11,24 ,90,48,194, 240,105,44,76,34,57,249,228,125,80,38,9,136,29 ,117,207,139, 168,181,85,137,126,10,126,242,120,247,121,8,100 ,12,201,171, 38,226,193,180,190,117,177,87,143,242,213,11,44 ,180,113,93, 106,99,179,68,175,211,164,116,64,148,226,254,172 ,147}; byte[] Exponent = {1,0,1}; //Values to store encrypted symmetric keys. byte[] EncryptedSymmetricKey; byte[] EncryptedSymmetricIV; //Create a new instance of RSACryptoServiceProvider. RSACryptoServiceProvider RSA = new RSACryptoServiceProvider(); //Create a new instance of RSAParameters. RSAParameters RSAKeyInfo = new RSAParameters(); //Set RSAKeyInfo to the public key values. RSAKeyInfo.Modulus = PublicKey; RSAKeyInfo.Exponent = Exponent; //Import key parameters into RSA. RSA.ImportParameters(RSAKeyInfo); //Create a new instance of the RijndaelManaged class. RijndaelManaged RM = new RijndaelManaged(); //Encrypt the symmetric key and IV. EncryptedSymmetricKey = RSA.Encrypt(RM.Key, false); EncryptedSymmetricIV = RSA.Encrypt(RM.IV, false); Console.WriteLine("RijndaelManaged Key and IV have been encrypted with RSACryptoServiceProvider."); } //Catch and display a CryptographicException //to the console. catch(CryptographicException e) { Console.WriteLine(e.Message); } } }
#using <System.dll> using namespace System; using namespace System::Security::Cryptography; int main() { try { //initialze the Byte arrays to the public key information. array<Byte>^PublicKey = {214,46,220,83,160,73,40,39,201,155,19,202,3 ,11,191,178,56,74,90,36,248,103,18,144,170,163,145,87,54,61,34,220,222,207,137,149 ,173,14,92,120,206,222,158,28,40,24,30,16,175,108,128,35,230,118,40,121,113,125,216,130,11,24,90,48,194,240,105,44,76,34,57,249,228,125,80,38,9,136,29,117,207,139 ,168,181,85,137,126,10,126,242,120,247,121,8,100,12,201,171,38,226,193,180,190,117,177,87,143,242,213,11,44,180,113,93,106,99,179,68,175,211,164,116,64,148,226,254,172,147}; array<Byte>^Exponent = {1,0,1}; //Values to store encrypted symmetric keys. array<Byte>^EncryptedSymmetricKey; array<Byte>^EncryptedSymmetricIV; //Create a new instance of RSACryptoServiceProvider. RSACryptoServiceProvider^ RSA = gcnew RSACryptoServiceProvider; //Create a new instance of RSAParameters. RSAParameters RSAKeyInfo; //Set RSAKeyInfo to the public key values. RSAKeyInfo.Modulus = PublicKey; RSAKeyInfo.Exponent = Exponent; //Import key parameters into RSA. RSA->ImportParameters( RSAKeyInfo ); //Create a new instance of the RijndaelManaged class. RijndaelManaged^ RM = gcnew RijndaelManaged; //Encrypt the symmetric key and IV. EncryptedSymmetricKey = RSA->Encrypt( RM->Key, false ); EncryptedSymmetricIV = RSA->Encrypt( RM->IV, false ); Console::WriteLine( "RijndaelManaged Key and IV have been encrypted with RSACryptoServiceProvider." ); } catch ( CryptographicException^ e ) { //Catch and display a CryptographicException //to the console. Console::WriteLine( e->Message ); } }
import System.*; import System.Security.Cryptography.*; class RSACSPSample { public static void main(String[] args) { try { // initialze the byte arrays to the public key information. ubyte publicKey[] = {214, 46, 220, 83, 160, 73, 40, 39, 201, 155, 19, 202, 3, 11, 191, 178, 56, 74, 90, 36, 248, 103, 18, 144, 170, 163, 145, 87, 54, 61, 34, 220, 222, 207, 137, 149, 173, 14, 92, 120, 206, 222, 158, 28, 40, 24, 30, 16, 175, 108, 128, 35, 230, 118, 40, 121, 113, 125, 216, 130, 11, 24, 90, 48, 194, 240, 105, 44, 76, 34, 57, 249, 228, 125, 80, 38, 9, 136, 29, 117, 207, 139, 168, 181, 85, 137, 126, 10, 126, 242, 120, 247, 121, 8, 100, 12, 201, 171, 38, 226, 193, 180, 190, 117, 177, 87, 143, 242, 213, 11, 44, 180, 113, 93, 106, 99, 179, 68, 175, 211, 164, 116, 64, 148, 226, 254, 172, 147}; ubyte exponent[] = {1, 0, 1}; // Values to store encrypted symmetric keys. ubyte encryptedSymmetricKey[]; ubyte encryptedSymmetricIV[]; // Create a new instance of RSACryptoServiceProvider. RSACryptoServiceProvider rsa = new RSACryptoServiceProvider(); // Create a new instance of RSAParameters. RSAParameters rsaKeyInfo = new RSAParameters(); // Set rsaKeyInfo to the public key values. rsaKeyInfo.Modulus = publicKey; rsaKeyInfo.Exponent = exponent; // Import key parameters into rsa. rsa.ImportParameters(rsaKeyInfo); // Create a new instance of the RijndaelManaged class. RijndaelManaged rm = new RijndaelManaged(); // Encrypt the symmetric key and IV. encryptedSymmetricKey = rsa.Encrypt(rm.get_Key(), false); encryptedSymmetricIV = rsa.Encrypt(rm.get_IV(), false); Console.WriteLine("RijndaelManaged Key and IV have been " + "encrypted with RSACryptoServiceProvider."); } // Catch and display a CryptographicException // to the console. catch (CryptographicException e) { Console.WriteLine(e.get_Message()); } } //main } //RSACSPSample

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からRSACryptoServiceProvider.Encrypt メソッドを検索する場合は、下記のリンクをクリックしてください。

- RSACryptoServiceProvider.Encrypt メソッドのページへのリンク