{
    "content": [
        {
            "type": "text",
            "text": "# openssl-enc(1ssl) (man)\n\n**Summary:** openssl-enc - symmetric cipher routines\n\n**Synopsis:** openssl enc|cipher [-cciipphheerr] [-help] [-list] [-ciphers] [-in filename] [-out filename] [-pass\narg] [-e] [-d] [-a] [-base64] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S\nsalt] [-salt] [-nosalt] [-z] [-md digest] [-iter count] [-pbkdf2] [-p] [-P] [-bufsize number]\n[-nopad] [-v] [-debug] [-none] [-engine id] [-rand files] [-writerand file] [-provider name]\n[-provider-path path] [-propquery propq]\nopenssl cipher [...]\n\n## Flags\n\n| Flag | Long | Arg | Description |\n|------|------|-----|-------------|\n| — | — | — | Print out a usage message. |\n| — | — | — | List all supported ciphers. |\n| — | — | — | Alias of -list to display all supported ciphers. |\n| — | — | — | The input filename, standard input by default. |\n| — | — | — | The output filename, standard output by default. |\n| — | — | — | The password source. For more information about the format of arg see openssl-passphrase-options(1). |\n| -e | — | — |  |\n| -d | — | — |  |\n| -a | — | — | encoded after encryption. If decryption is set then the input data is base64 decoded before being decrypted. |\n| — | — | — | Same as -a |\n| -a | — | — |  |\n| -k | — | — | The password to derive the key from. This is for compatibility with previous versions of OpenSSL. Superseded by the -pas |\n| — | — | — | Read the password to derive the key from the first line of filename. This is for compatibility with previous versions of |\n| — | — | — | Use the specified digest to create the key from the passphrase. The default algorithm is sha-256. |\n| — | — | — | Use a given number of iterations on the password in deriving the encryption key. High values increase the time required  |\n| — | — | — | Use PBKDF2 algorithm with default iteration count unless otherwise specified. |\n| — | — | — | Don't use a salt in the key derivation routines. This option SHOULD NOT be used except for test purposes or compatibilit |\n| — | — | — | Use salt (randomly generated or provide with -S option) when encrypting, this is the default. |\n| -S | — | — | The actual salt to use: this must be represented as a string of hex digits. If this option is used while encrypting, the |\n| -K | — | — | The actual key to use: this must be represented as a string comprised only of hex digits. If only the key is specified,  |\n| — | — | — | The actual IV to use: this must be represented as a string comprised only of hex digits. When only the key is specified  |\n| -p | — | — |  |\n| -P | — | — | decryption. |\n| — | — | — | Set the buffer size for I/O. |\n| — | — | — | Disable standard block padding. |\n| -v | — | — |  |\n| — | — | — | Debug the BIOs used for I/O. |\n| -z | — | — | This option exists only if OpenSSL was compiled with the zlib or zlib-dynamic option. |\n| — | — | — | Use NULL cipher (no encryption or decryption of input). |\n| — | — | — | See \"Random State Options\" in openssl(1) for details. |\n| — | — | — |  |\n| — | — | — |  |\n| — | — | — | See \"Provider Options\" in openssl(1), provider(7), and property(7). |\n| — | — | — | See \"Engine Options\" in openssl(1). This option is deprecated. |\n\n## Examples\n\n- `Just base64 encode a binary file:`\n- `openssl base64 -in file.bin -out file.b64`\n- `Decode the same file`\n- `openssl base64 -d -in file.b64 -out file.bin`\n- `Encrypt a file using AES-128 using a prompted password and PBKDF2 key derivation:`\n- `openssl enc -aes128 -pbkdf2 -in file.txt -out file.aes128`\n- `Decrypt a file using a supplied password:`\n- `openssl enc -aes128 -pbkdf2 -d -in file.aes128 -out file.txt \\`\n- `-pass pass:<password>`\n- `Encrypt a file then base64 encode it (so it can be sent via mail for example) using AES-256`\n- `in CTR mode and PBKDF2 key derivation:`\n- `openssl enc -aes-256-ctr -pbkdf2 -a -in file.txt -out file.aes256`\n- `Base64 decode a file then decrypt it using a password supplied in a file:`\n- `openssl enc -aes-256-ctr -pbkdf2 -d -a -in file.aes256 -out file.txt \\`\n- `-pass file:<passfile>`\n\n## Section Outline\n\n- **NAME** (2 lines)\n- **SYNOPSIS** (8 lines)\n- **DESCRIPTION** (5 lines)\n- **OPTIONS** (3 lines) — 34 subsections\n  - -help (2 lines)\n  - -list (2 lines)\n  - -ciphers (2 lines)\n  - -in (2 lines)\n  - -out (2 lines)\n  - -pass (3 lines)\n  - -e (1 lines)\n  - -d (1 lines)\n  - -a (3 lines)\n  - -base64 (2 lines)\n  - -A -a (1 lines)\n  - -k (3 lines)\n  - -kfile (3 lines)\n  - -md (3 lines)\n  - -iter (4 lines)\n  - -pbkdf2 (2 lines)\n  - -nosalt (3 lines)\n  - -salt (3 lines)\n  - -S (4 lines)\n  - -K (6 lines)\n  - -iv (5 lines)\n  - -p (1 lines)\n  - -P (2 lines)\n  - -bufsize (2 lines)\n  - -nopad (2 lines)\n  - -v (1 lines)\n  - -debug (2 lines)\n  - -z (2 lines)\n  - -none (2 lines)\n  - -rand -writerand (2 lines)\n  - -provider (1 lines)\n  - -provider-path (1 lines)\n  - -propquery (2 lines)\n  - -engine (2 lines)\n- **NOTES** (40 lines)\n- **SUPPORTED CIPHERS** (123 lines)\n- **EXAMPLES** (27 lines)\n- **BUGS** (6 lines)\n- **HISTORY** (6 lines)\n- **COPYRIGHT** (9 lines)\n\n## Full Content\n\n### NAME\n\nopenssl-enc - symmetric cipher routines\n\n### SYNOPSIS\n\nopenssl enc|cipher [-cciipphheerr] [-help] [-list] [-ciphers] [-in filename] [-out filename] [-pass\narg] [-e] [-d] [-a] [-base64] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S\nsalt] [-salt] [-nosalt] [-z] [-md digest] [-iter count] [-pbkdf2] [-p] [-P] [-bufsize number]\n[-nopad] [-v] [-debug] [-none] [-engine id] [-rand files] [-writerand file] [-provider name]\n[-provider-path path] [-propquery propq]\n\nopenssl cipher [...]\n\n### DESCRIPTION\n\nThe symmetric cipher commands allow data to be encrypted or decrypted using various block and\nstream ciphers using keys based on passwords or explicitly provided. Base64 encoding or\ndecoding can also be performed either by itself or in addition to the encryption or\ndecryption.\n\n### OPTIONS\n\n-cciipphheerr\nThe cipher to use.\n\n#### -help\n\nPrint out a usage message.\n\n#### -list\n\nList all supported ciphers.\n\n#### -ciphers\n\nAlias of -list to display all supported ciphers.\n\n#### -in\n\nThe input filename, standard input by default.\n\n#### -out\n\nThe output filename, standard output by default.\n\n#### -pass\n\nThe password source. For more information about the format of arg see\nopenssl-passphrase-options(1).\n\n#### -e\n\n#### -d\n\n#### -a\n\nencoded after encryption. If decryption is set then the input data is base64 decoded\nbefore being decrypted.\n\n#### -base64\n\nSame as -a\n\n#### -A -a\n\n#### -k\n\nThe password to derive the key from. This is for compatibility with previous versions of\nOpenSSL. Superseded by the -pass argument.\n\n#### -kfile\n\nRead the password to derive the key from the first line of filename.  This is for\ncompatibility with previous versions of OpenSSL. Superseded by the -pass argument.\n\n#### -md\n\nUse the specified digest to create the key from the passphrase.  The default algorithm is\nsha-256.\n\n#### -iter\n\nUse a given number of iterations on the password in deriving the encryption key.  High\nvalues increase the time required to brute-force the resulting file.  This option enables\nthe use of PBKDF2 algorithm to derive the key.\n\n#### -pbkdf2\n\nUse PBKDF2 algorithm with default iteration count unless otherwise specified.\n\n#### -nosalt\n\nDon't use a salt in the key derivation routines. This option SHOULD NOT be used except\nfor test purposes or compatibility with ancient versions of OpenSSL.\n\n#### -salt\n\nUse salt (randomly generated or provide with -S option) when encrypting, this is the\ndefault.\n\n#### -S\n\nThe actual salt to use: this must be represented as a string of hex digits.  If this\noption is used while encrypting, the same exact value will be needed again during\ndecryption.\n\n#### -K\n\nThe actual key to use: this must be represented as a string comprised only of hex digits.\nIf only the key is specified, the IV must additionally specified using the -iv option.\nWhen both a key and a password are specified, the key given with the -K option will be\nused and the IV generated from the password will be taken. It does not make much sense to\nspecify both key and password.\n\n#### -iv\n\nThe actual IV to use: this must be represented as a string comprised only of hex digits.\nWhen only the key is specified using the -K option, the IV must explicitly be defined.\nWhen a password is being specified using one of the other options, the IV is generated\nfrom this password.\n\n#### -p\n\n#### -P\n\ndecryption.\n\n#### -bufsize\n\nSet the buffer size for I/O.\n\n#### -nopad\n\nDisable standard block padding.\n\n#### -v\n\n#### -debug\n\nDebug the BIOs used for I/O.\n\n#### -z\n\nThis option exists only if OpenSSL was compiled with the zlib or zlib-dynamic option.\n\n#### -none\n\nUse NULL cipher (no encryption or decryption of input).\n\n#### -rand -writerand\n\nSee \"Random State Options\" in openssl(1) for details.\n\n#### -provider\n\n#### -provider-path\n\n#### -propquery\n\nSee \"Provider Options\" in openssl(1), provider(7), and property(7).\n\n#### -engine\n\nSee \"Engine Options\" in openssl(1).  This option is deprecated.\n\n### NOTES\n\nThe program can be called either as \"openssl cipher\" or \"openssl enc -cipher\". The first form\ndoesn't work with engine-provided ciphers, because this form is processed before the\nconfiguration file is read and any ENGINEs loaded.  Use the openssl-list(1) command to get a\nlist of supported ciphers.\n\nEngines which provide entirely new encryption algorithms (such as the ccgost engine which\nprovides gost89 algorithm) should be configured in the configuration file. Engines specified\non the command line using -engine option can only be used for hardware-assisted\nimplementations of ciphers which are supported by the OpenSSL core or another engine\nspecified in the configuration file.\n\nWhen the enc command lists supported ciphers, ciphers provided by engines, specified in the\nconfiguration files are listed too.\n\nA password will be prompted for to derive the key and IV if necessary.\n\nThe -salt option should ALWAYS be used if the key is being derived from a password unless you\nwant compatibility with previous versions of OpenSSL.\n\nWithout the -salt option it is possible to perform efficient dictionary attacks on the\npassword and to attack stream cipher encrypted data. The reason for this is that without the\nsalt the same password always generates the same encryption key.\n\nWhen the salt is generated at random (that means when encrypting using a passphrase without\nexplicit salt given using -S option), the first bytes of the encrypted data are reserved to\nstore the salt for later decrypting.\n\nSome of the ciphers do not have large keys and others have security implications if not used\ncorrectly. A beginner is advised to just use a strong block cipher, such as AES, in CBC mode.\n\nAll the block ciphers normally use PKCS#5 padding, also known as standard block padding. This\nallows a rudimentary integrity or password check to be performed. However, since the chance\nof random data passing the test is better than 1 in 256 it isn't a very good test.\n\nIf padding is disabled then the input data must be a multiple of the cipher block length.\n\nAll RC2 ciphers have the same key and effective key length.\n\nBlowfish and RC5 algorithms use a 128 bit key.\n\n### SUPPORTED CIPHERS\n\nNote that some of these ciphers can be disabled at compile time and some are available only\nif an appropriate engine is configured in the configuration file. The output when invoking\nthis command with the -list option (that is \"openssl enc -list\") is a list of ciphers,\nsupported by your version of OpenSSL, including ones provided by configured engines.\n\nThis command does not support authenticated encryption modes like CCM and GCM, and will not\nsupport such modes in the future.  This is due to having to begin streaming output (e.g., to\nstandard output when -out is not used) before the authentication tag could be validated.\nWhen this command is used in a pipeline, the receiving end will not be able to roll back upon\nauthentication failure.  The AEAD modes currently in common use also suffer from catastrophic\nfailure of confidentiality and/or integrity upon reuse of key/iv/nonce, and since openssl enc\nplaces the entire burden of key/iv/nonce management upon the user, the risk of exposing AEAD\nmodes is too great to allow.  These key/iv/nonce management issues also affect other modes\ncurrently exposed in this command, but the failure modes are less extreme in these cases, and\nthe functionality cannot be removed with a stable release branch.  For bulk encryption of\ndata, whether using authenticated encryption modes or other modes, openssl-cms(1) is\nrecommended, as it provides a standard data format and performs the needed key/iv/nonce\nmanagement.\n\nbase64             Base 64\n\nbf-cbc             Blowfish in CBC mode\nbf                 Alias for bf-cbc\nblowfish           Alias for bf-cbc\nbf-cfb             Blowfish in CFB mode\nbf-ecb             Blowfish in ECB mode\nbf-ofb             Blowfish in OFB mode\n\ncast-cbc           CAST in CBC mode\ncast               Alias for cast-cbc\ncast5-cbc          CAST5 in CBC mode\ncast5-cfb          CAST5 in CFB mode\ncast5-ecb          CAST5 in ECB mode\ncast5-ofb          CAST5 in OFB mode\n\nchacha20           ChaCha20 algorithm\n\ndes-cbc            DES in CBC mode\ndes                Alias for des-cbc\ndes-cfb            DES in CFB mode\ndes-ofb            DES in OFB mode\ndes-ecb            DES in ECB mode\n\ndes-ede-cbc        Two key triple DES EDE in CBC mode\ndes-ede            Two key triple DES EDE in ECB mode\ndes-ede-cfb        Two key triple DES EDE in CFB mode\ndes-ede-ofb        Two key triple DES EDE in OFB mode\n\ndes-ede3-cbc       Three key triple DES EDE in CBC mode\ndes-ede3           Three key triple DES EDE in ECB mode\ndes3               Alias for des-ede3-cbc\ndes-ede3-cfb       Three key triple DES EDE CFB mode\ndes-ede3-ofb       Three key triple DES EDE in OFB mode\n\ndesx               DESX algorithm.\n\ngost89             GOST 28147-89 in CFB mode (provided by ccgost engine)\ngost89-cnt         GOST 28147-89 in CNT mode (provided by ccgost engine)\n\nidea-cbc           IDEA algorithm in CBC mode\nidea               same as idea-cbc\nidea-cfb           IDEA in CFB mode\nidea-ecb           IDEA in ECB mode\nidea-ofb           IDEA in OFB mode\n\nrc2-cbc            128 bit RC2 in CBC mode\nrc2                Alias for rc2-cbc\nrc2-cfb            128 bit RC2 in CFB mode\nrc2-ecb            128 bit RC2 in ECB mode\nrc2-ofb            128 bit RC2 in OFB mode\nrc2-64-cbc         64 bit RC2 in CBC mode\nrc2-40-cbc         40 bit RC2 in CBC mode\n\nrc4                128 bit RC4\nrc4-64             64 bit RC4\nrc4-40             40 bit RC4\n\nrc5-cbc            RC5 cipher in CBC mode\nrc5                Alias for rc5-cbc\nrc5-cfb            RC5 cipher in CFB mode\nrc5-ecb            RC5 cipher in ECB mode\nrc5-ofb            RC5 cipher in OFB mode\n\nseed-cbc           SEED cipher in CBC mode\nseed               Alias for seed-cbc\nseed-cfb           SEED cipher in CFB mode\nseed-ecb           SEED cipher in ECB mode\nseed-ofb           SEED cipher in OFB mode\n\nsm4-cbc            SM4 cipher in CBC mode\nsm4                Alias for sm4-cbc\nsm4-cfb            SM4 cipher in CFB mode\nsm4-ctr            SM4 cipher in CTR mode\nsm4-ecb            SM4 cipher in ECB mode\nsm4-ofb            SM4 cipher in OFB mode\n\naes-[128|192|256]-cbc  128/192/256 bit AES in CBC mode\naes[128|192|256]       Alias for aes-[128|192|256]-cbc\naes-[128|192|256]-cfb  128/192/256 bit AES in 128 bit CFB mode\naes-[128|192|256]-cfb1 128/192/256 bit AES in 1 bit CFB mode\naes-[128|192|256]-cfb8 128/192/256 bit AES in 8 bit CFB mode\naes-[128|192|256]-ctr  128/192/256 bit AES in CTR mode\naes-[128|192|256]-ecb  128/192/256 bit AES in ECB mode\naes-[128|192|256]-ofb  128/192/256 bit AES in OFB mode\n\naria-[128|192|256]-cbc  128/192/256 bit ARIA in CBC mode\naria[128|192|256]       Alias for aria-[128|192|256]-cbc\naria-[128|192|256]-cfb  128/192/256 bit ARIA in 128 bit CFB mode\naria-[128|192|256]-cfb1 128/192/256 bit ARIA in 1 bit CFB mode\naria-[128|192|256]-cfb8 128/192/256 bit ARIA in 8 bit CFB mode\naria-[128|192|256]-ctr  128/192/256 bit ARIA in CTR mode\naria-[128|192|256]-ecb  128/192/256 bit ARIA in ECB mode\naria-[128|192|256]-ofb  128/192/256 bit ARIA in OFB mode\n\ncamellia-[128|192|256]-cbc  128/192/256 bit Camellia in CBC mode\ncamellia[128|192|256]       Alias for camellia-[128|192|256]-cbc\ncamellia-[128|192|256]-cfb  128/192/256 bit Camellia in 128 bit CFB mode\ncamellia-[128|192|256]-cfb1 128/192/256 bit Camellia in 1 bit CFB mode\ncamellia-[128|192|256]-cfb8 128/192/256 bit Camellia in 8 bit CFB mode\ncamellia-[128|192|256]-ctr  128/192/256 bit Camellia in CTR mode\ncamellia-[128|192|256]-ecb  128/192/256 bit Camellia in ECB mode\ncamellia-[128|192|256]-ofb  128/192/256 bit Camellia in OFB mode\n\n### EXAMPLES\n\nJust base64 encode a binary file:\n\nopenssl base64 -in file.bin -out file.b64\n\nDecode the same file\n\nopenssl base64 -d -in file.b64 -out file.bin\n\nEncrypt a file using AES-128 using a prompted password and PBKDF2 key derivation:\n\nopenssl enc -aes128 -pbkdf2 -in file.txt -out file.aes128\n\nDecrypt a file using a supplied password:\n\nopenssl enc -aes128 -pbkdf2 -d -in file.aes128 -out file.txt \\\n-pass pass:<password>\n\nEncrypt a file then base64 encode it (so it can be sent via mail for example) using AES-256\nin CTR mode and PBKDF2 key derivation:\n\nopenssl enc -aes-256-ctr -pbkdf2 -a -in file.txt -out file.aes256\n\nBase64 decode a file then decrypt it using a password supplied in a file:\n\nopenssl enc -aes-256-ctr -pbkdf2 -d -a -in file.aes256 -out file.txt \\\n-pass file:<passfile>\n\n### BUGS\n\nThe -A option when used with large files doesn't work properly.\n\nThe openssl enc command only supports a fixed number of algorithms with certain parameters.\nSo if, for example, you want to use RC2 with a 76 bit key or RC4 with an 84 bit key you can't\nuse this program.\n\n### HISTORY\n\nThe default digest was changed from MD5 to SHA256 in OpenSSL 1.1.0.\n\nThe -list option was added in OpenSSL 1.1.1e.\n\nThe -ciphers and -engine options were deprecated in OpenSSL 3.0.\n\n### COPYRIGHT\n\nCopyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.\n\nLicensed under the Apache License 2.0 (the \"License\").  You may not use this file except in\ncompliance with the License.  You can obtain a copy in the file LICENSE in the source\ndistribution or at <https://www.openssl.org/source/license.html>.\n\n\n\n3.0.2                                        2026-04-07                            OPENSSL-ENC(1SSL)\n\n"
        }
    ],
    "structuredContent": {
        "command": "openssl-enc",
        "section": "1ssl",
        "mode": "man",
        "summary": "openssl-enc - symmetric cipher routines",
        "synopsis": "openssl enc|cipher [-cciipphheerr] [-help] [-list] [-ciphers] [-in filename] [-out filename] [-pass\narg] [-e] [-d] [-a] [-base64] [-A] [-k password] [-kfile filename] [-K key] [-iv IV] [-S\nsalt] [-salt] [-nosalt] [-z] [-md digest] [-iter count] [-pbkdf2] [-p] [-P] [-bufsize number]\n[-nopad] [-v] [-debug] [-none] [-engine id] [-rand files] [-writerand file] [-provider name]\n[-provider-path path] [-propquery propq]\nopenssl cipher [...]",
        "flags": [
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Print out a usage message."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "List all supported ciphers."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Alias of -list to display all supported ciphers."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "The input filename, standard input by default."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "The output filename, standard output by default."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "The password source. For more information about the format of arg see openssl-passphrase-options(1)."
            },
            {
                "flag": "-e",
                "long": null,
                "arg": null,
                "description": ""
            },
            {
                "flag": "-d",
                "long": null,
                "arg": null,
                "description": ""
            },
            {
                "flag": "-a",
                "long": null,
                "arg": null,
                "description": "encoded after encryption. If decryption is set then the input data is base64 decoded before being decrypted."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Same as -a"
            },
            {
                "flag": "-a",
                "long": null,
                "arg": null,
                "description": ""
            },
            {
                "flag": "-k",
                "long": null,
                "arg": null,
                "description": "The password to derive the key from. This is for compatibility with previous versions of OpenSSL. Superseded by the -pass argument."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Read the password to derive the key from the first line of filename. This is for compatibility with previous versions of OpenSSL. Superseded by the -pass argument."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Use the specified digest to create the key from the passphrase. The default algorithm is sha-256."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Use a given number of iterations on the password in deriving the encryption key. High values increase the time required to brute-force the resulting file. This option enables the use of PBKDF2 algorithm to derive the key."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Use PBKDF2 algorithm with default iteration count unless otherwise specified."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Don't use a salt in the key derivation routines. This option SHOULD NOT be used except for test purposes or compatibility with ancient versions of OpenSSL."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Use salt (randomly generated or provide with -S option) when encrypting, this is the default."
            },
            {
                "flag": "-S",
                "long": null,
                "arg": null,
                "description": "The actual salt to use: this must be represented as a string of hex digits. If this option is used while encrypting, the same exact value will be needed again during decryption."
            },
            {
                "flag": "-K",
                "long": null,
                "arg": null,
                "description": "The actual key to use: this must be represented as a string comprised only of hex digits. If only the key is specified, the IV must additionally specified using the -iv option. When both a key and a password are specified, the key given with the -K option will be used and the IV generated from the password will be taken. It does not make much sense to specify both key and password."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "The actual IV to use: this must be represented as a string comprised only of hex digits. When only the key is specified using the -K option, the IV must explicitly be defined. When a password is being specified using one of the other options, the IV is generated from this password."
            },
            {
                "flag": "-p",
                "long": null,
                "arg": null,
                "description": ""
            },
            {
                "flag": "-P",
                "long": null,
                "arg": null,
                "description": "decryption."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Set the buffer size for I/O."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Disable standard block padding."
            },
            {
                "flag": "-v",
                "long": null,
                "arg": null,
                "description": ""
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Debug the BIOs used for I/O."
            },
            {
                "flag": "-z",
                "long": null,
                "arg": null,
                "description": "This option exists only if OpenSSL was compiled with the zlib or zlib-dynamic option."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "Use NULL cipher (no encryption or decryption of input)."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "See \"Random State Options\" in openssl(1) for details."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": ""
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": ""
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "See \"Provider Options\" in openssl(1), provider(7), and property(7)."
            },
            {
                "flag": "",
                "long": null,
                "arg": null,
                "description": "See \"Engine Options\" in openssl(1). This option is deprecated."
            }
        ],
        "examples": [
            "Just base64 encode a binary file:",
            "openssl base64 -in file.bin -out file.b64",
            "Decode the same file",
            "openssl base64 -d -in file.b64 -out file.bin",
            "Encrypt a file using AES-128 using a prompted password and PBKDF2 key derivation:",
            "openssl enc -aes128 -pbkdf2 -in file.txt -out file.aes128",
            "Decrypt a file using a supplied password:",
            "openssl enc -aes128 -pbkdf2 -d -in file.aes128 -out file.txt \\",
            "-pass pass:<password>",
            "Encrypt a file then base64 encode it (so it can be sent via mail for example) using AES-256",
            "in CTR mode and PBKDF2 key derivation:",
            "openssl enc -aes-256-ctr -pbkdf2 -a -in file.txt -out file.aes256",
            "Base64 decode a file then decrypt it using a password supplied in a file:",
            "openssl enc -aes-256-ctr -pbkdf2 -d -a -in file.aes256 -out file.txt \\",
            "-pass file:<passfile>"
        ],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 8,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 5,
                "subsections": []
            },
            {
                "name": "OPTIONS",
                "lines": 3,
                "subsections": [
                    {
                        "name": "-help",
                        "lines": 2
                    },
                    {
                        "name": "-list",
                        "lines": 2
                    },
                    {
                        "name": "-ciphers",
                        "lines": 2
                    },
                    {
                        "name": "-in",
                        "lines": 2
                    },
                    {
                        "name": "-out",
                        "lines": 2
                    },
                    {
                        "name": "-pass",
                        "lines": 3
                    },
                    {
                        "name": "-e",
                        "lines": 1,
                        "flag": "-e"
                    },
                    {
                        "name": "-d",
                        "lines": 1,
                        "flag": "-d"
                    },
                    {
                        "name": "-a",
                        "lines": 3,
                        "flag": "-a"
                    },
                    {
                        "name": "-base64",
                        "lines": 2
                    },
                    {
                        "name": "-A -a",
                        "lines": 1,
                        "flag": "-a"
                    },
                    {
                        "name": "-k",
                        "lines": 3,
                        "flag": "-k"
                    },
                    {
                        "name": "-kfile",
                        "lines": 3
                    },
                    {
                        "name": "-md",
                        "lines": 3
                    },
                    {
                        "name": "-iter",
                        "lines": 4
                    },
                    {
                        "name": "-pbkdf2",
                        "lines": 2
                    },
                    {
                        "name": "-nosalt",
                        "lines": 3
                    },
                    {
                        "name": "-salt",
                        "lines": 3
                    },
                    {
                        "name": "-S",
                        "lines": 4,
                        "flag": "-S"
                    },
                    {
                        "name": "-K",
                        "lines": 6,
                        "flag": "-K"
                    },
                    {
                        "name": "-iv",
                        "lines": 5
                    },
                    {
                        "name": "-p",
                        "lines": 1,
                        "flag": "-p"
                    },
                    {
                        "name": "-P",
                        "lines": 2,
                        "flag": "-P"
                    },
                    {
                        "name": "-bufsize",
                        "lines": 2
                    },
                    {
                        "name": "-nopad",
                        "lines": 2
                    },
                    {
                        "name": "-v",
                        "lines": 1,
                        "flag": "-v"
                    },
                    {
                        "name": "-debug",
                        "lines": 2
                    },
                    {
                        "name": "-z",
                        "lines": 2,
                        "flag": "-z"
                    },
                    {
                        "name": "-none",
                        "lines": 2
                    },
                    {
                        "name": "-rand -writerand",
                        "lines": 2
                    },
                    {
                        "name": "-provider",
                        "lines": 1
                    },
                    {
                        "name": "-provider-path",
                        "lines": 1
                    },
                    {
                        "name": "-propquery",
                        "lines": 2
                    },
                    {
                        "name": "-engine",
                        "lines": 2
                    }
                ]
            },
            {
                "name": "NOTES",
                "lines": 40,
                "subsections": []
            },
            {
                "name": "SUPPORTED CIPHERS",
                "lines": 123,
                "subsections": []
            },
            {
                "name": "EXAMPLES",
                "lines": 27,
                "subsections": []
            },
            {
                "name": "BUGS",
                "lines": 6,
                "subsections": []
            },
            {
                "name": "HISTORY",
                "lines": 6,
                "subsections": []
            },
            {
                "name": "COPYRIGHT",
                "lines": 9,
                "subsections": []
            }
        ]
    }
}