SymmetricAlgorithm.Create SymmetricAlgorithm.Create SymmetricAlgorithm.Create SymmetricAlgorithm.Create Method

Definition

Creates a cryptographic object used to perform the symmetric algorithm.

Overloads

Create() Create() Create() Create()

Creates a default cryptographic object used to perform the symmetric algorithm.

Create(String) Create(String) Create(String) Create(String)

Creates the specified cryptographic object used to perform the symmetric algorithm.

Create() Create() Create() Create()

Creates a default cryptographic object used to perform the symmetric algorithm.

public:
 static System::Security::Cryptography::SymmetricAlgorithm ^ Create();
public static System.Security.Cryptography.SymmetricAlgorithm Create ();
static member Create : unit -> System.Security.Cryptography.SymmetricAlgorithm
Public Shared Function Create () As SymmetricAlgorithm

Returns

A default cryptographic object used to perform the symmetric algorithm.

Examples

The following code example uses the RijndaelManaged class with the specified Key property and initialization vector (IV) to encrypt a file specified by inName, and outputs the encrypted result to the file specified by outName. The desKey and desIV parameters to the method are 8-byte arrays. You must have the high encryption pack installed to run this example.

void EncryptData( String^ inName, String^ outName, array<Byte>^rijnKey, array<Byte>^rijnIV )
{
   
   //Create the file streams to handle the input and output files.
   FileStream^ fin = gcnew FileStream( inName,FileMode::Open,FileAccess::Read );
   FileStream^ fout = gcnew FileStream( outName,FileMode::OpenOrCreate,FileAccess::Write );
   fout->SetLength( 0 );
   
   //Create variables to help with read and write.
   array<Byte>^bin = gcnew array<Byte>(100);
   long rdlen = 0; //This is the total number of bytes written.

   long totlen = (long)fin->Length; //This is the total length of the input file.

   int len; //This is the number of bytes to be written at a time.

   SymmetricAlgorithm^ rijn = SymmetricAlgorithm::Create(); //Creates the default implementation, which is RijndaelManaged.         

   CryptoStream^ encStream = gcnew CryptoStream( fout,rijn->CreateEncryptor( rijnKey, rijnIV ),CryptoStreamMode::Write );
   Console::WriteLine( "Encrypting..." );
   
   //Read from the input file, then encrypt and write to the output file.
   while ( rdlen < totlen )
   {
      len = fin->Read( bin, 0, 100 );
      encStream->Write( bin, 0, len );
      rdlen = rdlen + len;
      Console::WriteLine( "{0} bytes processed", rdlen );
   }

   encStream->Close();
   fout->Close();
   fin->Close();
}

private static void EncryptData(String inName, String outName, byte[] rijnKey, byte[] rijnIV)
 {    
     //Create the file streams to handle the input and output files.
     FileStream fin = new FileStream(inName, FileMode.Open, FileAccess.Read);
     FileStream fout = new FileStream(outName, FileMode.OpenOrCreate, FileAccess.Write);
     fout.SetLength(0);
       
     //Create variables to help with read and write.
     byte[] bin = new byte[100]; //This is intermediate storage for the encryption.
     long rdlen = 0;              //This is the total number of bytes written.
     long totlen = fin.Length;    //This is the total length of the input file.
     int len;                     //This is the number of bytes to be written at a time.
 
     SymmetricAlgorithm rijn = SymmetricAlgorithm.Create(); //Creates the default implementation, which is RijndaelManaged.         
     CryptoStream encStream = new CryptoStream(fout, rijn.CreateEncryptor(rijnKey, rijnIV), CryptoStreamMode.Write);
                
     Console.WriteLine("Encrypting...");
 
     //Read from the input file, then encrypt and write to the output file.
     while(rdlen < totlen)
     {
         len = fin.Read(bin, 0, 100);
         encStream.Write(bin, 0, len);
         rdlen = rdlen + len;
         Console.WriteLine("{0} bytes processed", rdlen);
     }
 
     encStream.Close();  
     fout.Close();
     fin.Close();                   
 }
   Private Shared Sub EncryptData(inName As String, outName As String, _
   rijnKey() As Byte, rijnIV() As Byte)
   
       'Create the file streams to handle the input and output files.
       Dim fin As New FileStream(inName, FileMode.Open, FileAccess.Read)
       Dim fout As New FileStream(outName, FileMode.OpenOrCreate, _
          FileAccess.Write)
       fout.SetLength(0)
       
       'Create variables to help with read and write.
       Dim bin(100) As Byte 'This is intermediate storage for the encryption.
       Dim rdlen As Long = 0 'This is the total number of bytes written.
       Dim totlen As Long = fin.Length 'Total length of the input file.
       Dim len As Integer 'This is the number of bytes to be written at a time.
       'Creates the default implementation, which is RijndaelManaged.
       Dim rijn As SymmetricAlgorithm = SymmetricAlgorithm.Create()
       Dim encStream As New CryptoStream(fout, _
          rijn.CreateEncryptor(rijnKey, rijnIV), CryptoStreamMode.Write)
       
       Console.WriteLine("Encrypting...")
       
       'Read from the input file, then encrypt and write to the output file.
       While rdlen < totlen
           len = fin.Read(bin, 0, 100)
           encStream.Write(bin, 0, len)
           rdlen = Convert.ToInt32(rdlen + len)
           Console.WriteLine("{0} bytes processed", rdlen)
       End While
       
       encStream.Close()
fout.Close()
fin.Close()
   End Sub
See also

Create(String) Create(String) Create(String) Create(String)

Creates the specified cryptographic object used to perform the symmetric algorithm.

public:
 static System::Security::Cryptography::SymmetricAlgorithm ^ Create(System::String ^ algName);
public static System.Security.Cryptography.SymmetricAlgorithm Create (string algName);
static member Create : string -> System.Security.Cryptography.SymmetricAlgorithm
Public Shared Function Create (algName As String) As SymmetricAlgorithm

Parameters

algName
String String String String

The name of the specific implementation of the SymmetricAlgorithm class to use.

Returns

A cryptographic object used to perform the symmetric algorithm.

See also

Applies to