I want to start a private journal on my Mac, but I want to make sure that the file can only be opened by me.
How can I put password security on my file without it slowing down my computer?
You could put it in an encrypted disk image.
You can create an encrypted disk image in Disk Utility:
Now, whenever you want to access your encrypted files, just mount the image from wherever you saved it to earlier. Once you're done with your files, eject it as described earlier.
You can encrypt any (individual) file using OpenSSL through Terminal. This is very useful if you are planning on doing a journal in a Word Document, or even a TextEdit file where it's just one long document. The benefit here is that it's lightening fast as you are only encrypting/decrypting a single file.
So, let's assume that on your Desktop we have your Journal conveniently named
To encrypt the file, in Terminal issue the command (assuming "Apple123" is your username):
openssl enc -aes-256-cbc -e -in /Users/Apple123/Desktop/Journal.txt -out /Users/Apple123/Desktop/Journal_encrypted.txt
You will be asked to type and verify a password to encrypt the file. When it's finished, you will see the new file on your desktop. It will look like a regular text file but when you double click on it, you will get an error message that it cannot be opened.
To decrypt the file, just issue the command:
openssl enc -aes-256-cbc -d -in /Users/Apple123/Desktop/Journal_encrypted.txt -out /Users/Apple123/Journal.txt
You will again be asked for the password; enter the one you used to encrypt it. Now, this time, when you double click on the file, you will be able to open your file.
What do those things mean?
enc - Use encryption cipher
-aes-256-cbc - Type of cipher to be used. AES256 is an industry standard.
-d - Encrypt or Decrypt
-in - specifies the full path to the input file
-out - specifies the full path to the output file.
You can obtain more info about OpenSSL by typing
man openssl from the Terminal prompt.
Use OpenSSL to encrypt/decrypt.
openssl enc -aes-256-cbc -e -in [input path/file] -out [output path/file]
openssl enc -aes-256-cbc -d -in [input path/file] -out [output path/file]
Remember your password and make a backup of the file. If you lose/forget the password you are going to be up the creek without a paddle.
For the really paranoid, Keychain Access can be used to store Secure Notes.
Further to calum_b's comment, you should take a look at DayOne native Mac app for journalling. It's full-feautured and has a journal-lock feature. It's better quality than the products mentioned, in my opinion.
In the next weeks/months they will be rolling out their end-to-end encryption feature. It's much more practical for a third party to take care of this than attempting it yourself.