Created
March 10, 2016 14:40
-
-
Save Buildsoftwaresphere/dbe28d0dfcb0ccab1b9f to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
System.Object | |
System.Security.Cryptography.SymmetricAlgorithm | |
System.Security.Cryptography.Aes | |
System.Security.Cryptography.DES | |
System.Security.Cryptography.RC2 | |
System.Security.Cryptography.Rijndael | |
System.Security.Cryptography.TripleDES |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
void EncryptData( String^ inName, String^ outName, array^rijnKey, array^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^bin = gcnew array(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();
}