This is a copy of the Github readme.
Find the original on https://github.com/bestia-dev/treasure_your_passwords

treasure_your_passwords

Use SSH private key to store your passwords locally and make them strong
version: 0.0.59 date: 2025-03-18 author: bestia.dev repository: GitHub

maintained ready-for-use rustlang

License Rust treasure_your_passwords

Lines in Rust code Lines in Doc comments Lines in Comments Lines in examples Lines in tests

Hashtags: #maintained #ready-for-use #rustlang
My projects on GitHub are more like a tutorial than a finished product: bestia-dev tutorials.

create the SSH key

Create the SSH key and protect it with a passcode.

ssh-keygen -t ed25519 -f "vault_ssh_1" -C "vault for secret tokens"

Save the file ssh_private_key_bare_file_name.cfg with the content vault_ssh_1.
The program treasure will read this file to find the SSH private key in the ~/.ssh folder.

Use SSH private key to store passwords

With one SSH private key, we can store many secret tokens.

treasure list
treasure store token_name
treasure show token_name
treasure delete token_name

convert to strong password

I'd like to have a CLI where to input a humane easy to memorize password and convert it into a strong password.

treasure strong

Then sign it with a private key (this encryption is reversible using the public key).
Then hash it (this is a one way encryption, so nobody can come back to the first secret).
Finally, convert it into a string long 32 characters with ascii7 characters (lowercase, uppercase, numeric and special characters).
What makes this conversion secure is: only the user of the private key can convert the easy password into the same strong_password.

Strong passwords must use the clipboard. The risk is that it can stay in the clipboard and can be read from the clipboard.

Development details

Read the development details in a separate md file: DEVELOPMENT.md

Releases changelog

Read the releases changelog in a separate md file: RELEASES.md

TODO

Open-source and free as a beer

My open-source projects are free as a beer (MIT license).
I just love programming.
But I need also to drink. If you find my projects and tutorials helpful, please buy me a beer by donating to my PayPal.
You know the price of a beer in your local bar ;-)
So I can drink a free beer for your health :-)
Na zdravje! Alla salute! Prost! Nazdravlje! 🍻

//bestia.dev
//github.com/bestia-dev
//bestiadev.substack.com
//youtube.com/@bestia-dev-tutorials