DecryptFile["password",file]
generates a decrypted version of a file, using the specified password.
DecryptFile["password",source,target]
generates a decrypted version of source, putting the result in target.
DecryptFile[keyspec,source,…]
decrypts using the cryptographic key specification keyspec.
DecryptFile
DecryptFile["password",file]
generates a decrypted version of a file, using the specified password.
DecryptFile["password",source,target]
generates a decrypted version of source, putting the result in target.
DecryptFile[keyspec,source,…]
decrypts using the cryptographic key specification keyspec.
Details and Options
- DecryptFile takes a file encrypted by EncryptFile.
- DecryptFile works with both files and cloud objects.
- DecryptFile[key,file] returns the name of the decrypted version of file, or $Failed if the file could not be decrypted with key.
- DecryptFile[key,CloudObject[…]] returns a new anonymous cloud object containing the decrypted version of the contents of the original cloud object, or $Failed if the original cloud object could not be decrypted with key.
- DecryptFile[key,File[…]] is also supported.
- The cryptographic key specification keyspec for DecryptFile[keyspec,…] has the same form as for Decrypt.
- DecryptFile has the following options:
-
Permissions Automatic permissions to set for created cloud objects OverwriteTarget False whether to overwrite an existing file with an automatically named new file - The setting for Permissions affects only cloud objects newly created by DecryptFile[key,CloudObject[…]], not cloud objects explicitly specified as targets.
- With Permissions->Automatic, any permissions set will be given by $Permissions. However, if $Permissions is not "Private", DecryptFile will give a message when it generates a cloud object.
- The setting for OverwriteTarget affects only files to be newly created by DecryptFile[key,file] whose names would collide with existing files.
Examples
open all close allBasic Examples (4)
Write a string to the file tmp.txt:
WriteString["tmp.txt", "Now is the time..."]Close["tmp.txt"]Encrypt the file tmp.txt using a password:
EncryptFile["my password", "tmp.txt"]DeleteFile["tmp.txt"]DecryptFile["my password", "tmp.txt.mx"]ReadString["tmp.txt"]Delete the files used in this example:
DeleteFile[{"tmp.txt", "tmp.txt.mx"}]Encrypt a file containing an image, putting the result in a new file:
EncryptFile["my password", FindFile["ExampleData/rose.gif"], "codedrose.mx"]Decrypt the encrypted file, again putting the result in a new file:
DecryptFile["my password", "codedrose.mx", "rose.gif"]Import["rose.gif"]Delete the files used in this example:
DeleteFile[{"codedrose.mx", "rose.gif"}]CloudPut["Now is the time..."]Encrypt the cloud object, getting back another cloud object:
EncryptFile["my password", %]Decrypt the encrypted cloud object, getting back yet another cloud object:
DecryptFile["my password", %]Get the contents of the decrypted cloud object:
CloudGet[%]Create an archive file from a directory:
CreateArchive[$InstallationDirectory <> "/Documentation/English/System/ExampleData/", "example.zip"]EncryptFile["my password", %]DeleteFile["example.zip"]Decrypt the encrypted archive:
DecryptFile["my password", "example.zip.mx"]Extract the archive into the current directory:
ExtractArchive["example.zip"];Delete the extracted directory and intermediate files used in this example:
DeleteDirectory["ExampleData", DeleteContents -> True]DeleteFile[{"example.zip", "example.zip.mx"}]Scope (2)
Encrypt a file and put the result in a cloud object:
EncryptFile["my password", FindFile["ExampleData/rose.gif"], CloudObject[]]Decrypt the cloud object and put the result into a local file:
DecryptFile["my password", %, "newrose.gif"]Import[%]DeleteFile["newrose.gif"]key = GenerateSymmetricKey[]EncryptFile[key, FindFile["ExampleData/rose.gif"], "rose.gif.mx"]DecryptFile[key, %]DeleteFile[{"rose.gif", "rose.gif.mx"}]Options (2)
Permissions (1)
CloudPut["Now is the time..."]EncryptFile["my password", %]Decrypt the cloud object, creating a new cloud object and setting its permissions to public:
DecryptFile["my password", %, Permissions -> "Public"]The decrypted cloud object is now publicly readable:
Options[%, Permissions]OverwriteTarget (1)
Write a string to the file tmp.txt:
WriteString["tmp.txt", "Now is the time..."]EncryptFile["my password", "tmp.txt"]This attempts to write over tmp.txt:
DecryptFile["my password", "tmp.txt.mx"]With OverwriteTarget->True, DecryptFile overwrites tmp.txt:
DecryptFile["my password", "tmp.txt.mx", OverwriteTarget -> True]DeleteFile[{"tmp.txt", "tmp.txt.mx"}]Possible Issues (2)
WriteString["tmp.txt", "Now is the time..."]Close["tmp.txt"]Encrypt the file using the password "my password":
EncryptFile["my password", "tmp.txt"]DeleteFile["tmp.txt"]If you use the wrong password, you get a message:
DecryptFile["not my password", "tmp.txt.mx"]DeleteFile["tmp.txt.mx"]CloudPut["Now is the time..."]Encrypt the cloud object, getting back another cloud object:
EncryptFile["my password", %]If $Permissions is not "Private", DecryptFile gives a message:
Block[{$Permissions = "Public"}, DecryptFile["my password", %]]If the Permissions option is explicitly set, no message is issued:
Block[{$Permissions = "Public"}, DecryptFile["my password", %%, Permissions -> "Public"]]Related Guides
Text
Wolfram Research (2017), DecryptFile, Wolfram Language function, https://reference.wolfram.com/language/ref/DecryptFile.html (updated 2020).
CMS
Wolfram Language. 2017. "DecryptFile." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/DecryptFile.html.
APA
Wolfram Language. (2017). DecryptFile. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/DecryptFile.html
BibTeX
@misc{reference.wolfram_2026_decryptfile, author="Wolfram Research", title="{DecryptFile}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/DecryptFile.html}", note=[Accessed: 13-June-2026]}
BibLaTeX
@online{reference.wolfram_2026_decryptfile, organization={Wolfram Research}, title={DecryptFile}, year={2020}, url={https://reference.wolfram.com/language/ref/DecryptFile.html}, note=[Accessed: 13-June-2026]}