DecryptFile Method  
 

Decrypt the contents of the specified file.

Syntax

object.DecryptFile( InputFile, OutputFile [, Password] )

Parameters

InputFile
A string value that specifies the name of the file to be decrypted. The file must exist, and it must be a regular file that can be opened for reading by the current process. An error will be returned if a character device, such as the console, is specified as the file name.
OutputFile
A string value that specifies the name of the file that will contain the decrypted data. If the file exists, it must be a regular file that can be opened for writing by the current process and will be overwritten. If the file does not exist, it will be created. An error will be returned if a character device, such as the console, is specified as the file name.
Password
An optional parameter that specifies the password that was used to encrypt the file contents. If this parameter is omitted, the value of the Password property will be used.

Return Value

This method returns a value of zero if the file was successfully decrypted. A non-zero return value specifies an error code which indicates the reason for the failure.

Remarks

The DecryptFile method will decrypt the contents of a file previously encrypted with the EncryptFile method and stores the decrypted data in the specified output file. The password (or passphrase) provided by the caller is used to generate a SHA-256 hash value which is used as part of the decryption process.

Due to how the SHA-256 hash is generated, this method cannot be used to decrypt files that were encrypted using another third-party library. It can only be used to decrypt data that was previously encrypted using EncryptFile.

A temporary file is created during the decryption process and the output file is created or overwritten only if the input file could be successfully decrypted. If the decryption fails, no output file will be created.

This method uses the Microsoft CryptoAPI and the RSA AES cryptographic provider. This provider may not be available in some languages, countries or regions. The availability of this provider may also be constrained by cryptography export restrictions imposed by the United States or other countries. If the required cryptographic provider is not available, the method will fail.

See Also

DecryptedText Property, EncryptedText Property, Password Property, EncryptData Method, EncryptFile Method