A simple command line utility tool I have written for myself which can generate random secure passwords and passphrases, as well as AES encrypt files or directories. The name comes from my first name Jakob.
For random number generations it uses the random-number-csprng library to generate cryptographically secure pseudo-random numbers.
npm install -g jutility
jutility password [length] [noNumbers] [noSymbols] [noUpper] [noSimilar]
length
[required] definies the length of the passwordnoNumbers
[optional] password will not contain any numbersnoSymbols
[optional] password will not contain any symbolsnoUpper
[optional] password will not contain any uppercase lettersnoSimiliar
[optional] password will not contain any similiar letters like ilI ec.
jutility passphrase [length]
length
[required] of how much words the Passphrase should consist of
At the moment the Passphrase Generator uses a german dictionary consisting of about 5 million words.
You could easily change the used dictionary by changing the file in res/german.dic
or add your own file.
The current code requires each word in a file to be seperated by newline.
jutility name
Will generate a name consiting of a randomly choosen first and last name. The dictionaries used for this
can be found in res
directory
jutility [encrypt|decrypt] [file] [key] [iv]
encrypt|decrypt
if you want to encrypt of decrypt filesfile
the name of the file or directory you want to encrypt or decrypt. In your cmd you have to navigate directly to the file or directory. Paths to a file or directory are not supported.key
The Key you want to use, has to be a 32 character long string.iv
Will be used for the initialization vector, has to be 16 character long string.
In version 1.2.0 a second encryption command was added. You will be promted for the IV and Key, and both should provided hex encoded. Again IV should be 16 bytes long and key 32 bytes. (Note that this would mean a 32 and 64 character hex string)
jutility [encrypt2|decrypt2] [file]
encrypt|decrypt
if you want to encrypt of decrypt filesfile
the name of the file or directory you want to encrypt or decrypt. In your cmd you have to navigate directly to the file or directory. Paths to a file or directory are not supported.
The library is capable of handling recursive directories. But please be to test if everything works correctly for your, before you use it on a everyday basis. I have only tested in on one OS.