Skip to content

ordovician/cryptools

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Cryptools

A collection of small command line tools written in Go for learning about encoding binary data in different formats such as base32 and base64. How to work with the encryption algorithms for encryption, decryption and key management.

To build the different commands you can run the go build command:

❯ go build ./cmd/generate
❯ go build ./cmd/encoder
❯ go build ./cmd/decrypt
❯ go build ./cmd/encrypt

Here are some examples of usage. This creates a random key and stores it in base64 format. You can use this key with the encryption and decryption commands.

❯ ./generate -keylen 16 -encoding base64 > key.txt
❯ cat key.txt
OKn9kRVk97GfeSl/2UaaUg=

All the commands have a -h and -help swith to get info on how to use them

❯ ./generate -h
Usage of ./generate:
  -encoding string
    	Encoding to use for key. Could be hex, base32, base64 or pem (default "hex")
  -keylen int
    	Length of encryption key (default 16)

Let us use the key to encrypt and decrypt a message:

❯ echo "hello world" > message.txt
❯ ./encrypt -encoding base64 -key key.txt message.txt > secret.txt
❯ cat secret.txt
PFLRBIRCMOCE25GOCYHXLTXR2MSS3J3MQ2CP3QOTENFMEUZAO4LA====⏎
❯ ./decrypt -encoding base64 -key key.txt  secret.txt
hello world

You need to use the -encoding swith otherwise the program will not know how the key file was encoded, and then it cannot read the AES encryption key.

About

Collection of simple command line tools for encryption, decryption, encoding and key generation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages