mcrypt command examples for encrypting files in Unix and Linux.
#!/usr/bin/env bash
# Article: Linux or UNIX password protect files
# - http://www.cyberciti.biz/tips/linux-or-unix-password-protecting-files.html
##
# mcrypt command
#
# Mcrypt is a simple crypting program, a replacement for the old unix crypt.
# When encrypting or decrypting a file, a new file is created with the
# extension .nc and mode 0600. The new file keeps the modification date
# of the original. The original file may be deleted by specifying the `-u`
# parameter.
##
# Encrypt data.txt file:
mcrypt data.txt
# > Enter the passphrase (maximum of 512 characters)
# > Please use a combination of upper and lower case letters and numbers.
# > Enter passphrase:
# > Enter passphrase:
# A new file is created with the extension .nc i.e. data.txt.nc:
ls data.txt.nc
cat data.txt.nc
# Decrypt the data.txt.nc file:
mcrypt -d data.txt.nc
# > Enter passphrase:
# > File data.txt.nc was decrypted.
# > Verify that file was decrypted:
ls data.txt
cat data.txt
# For mcrypt to be compatible with the Solaris des, use following parameters:
mcrypt -a des --keymode pkdes --bare -noiv data.txt
# Delete the input file if the whole process of encryption/decryption succeeds
# (pass -u option):
mcrypt -u data.txt
# OR
mcrypt -u -d data.txt.nc
##
# openssl command
#
# OpenSSL is a cryptography toolkit implementing the Secure Sockets Layer
# (SSL v2/v3) and Transport Layer Security (TLS v1) network protocols and
# related cryptography standards required by them. You can use the openssl
# program which is a command line tool for using the various cryptography
# functions of OpenSSL's crypto library from the shell. It can be used for
# encrypt and decrypt files with a password.
##
# Encrypt file.txt to file.out using 256-bit AES in CBC mode
openssl enc -aes-256-cbc -salt -in file.txt -out file.out
# Decrypt encrypted file file.out (`enc` Encoding with Ciphers)
openssl enc -d -aes-256-cbc -in file.out