dailykey
Generate deterministic passwords that stay in sync across machines — even offline ones — without ever exchanging them.
dailykey derives a key from a shared seed and the current date. Two machines initialised with the same passphrase will always produce the same key on the same day, without needing any network connection between them.
Why
Sometimes you need a shared password between machines that can't (or shouldn't) talk to each other. For example:
- An APFS encrypted disk that you plug into different machines — you want the password to be something strong and unpredictable, but you don't want to store it anywhere or type in the same static password forever.
- An air-gapped machine that needs to agree on a daily credential with an online machine, with no way to exchange it at runtime.
- Any situation where two machines need a shared secret that looks random from the outside, changes regularly, and requires zero coordination.
As long as both machines were initialised with the same passphrase, they will independently produce the same key each day.
Features
- Deterministic — same seed + date always produces the same key, on any machine, with no network required
- Daily rotation — a new key every day, automatically
- Named keys — pass a name to get a different key per use case, all from the same seed
- Passphrase-derived seed — the seed is derived from a passphrase using 5 million rounds of SHA-512, so you just need to remember the passphrase
Installation
pip install dailykey
Quick Start
Initialise with a passphrase (one-time setup, on each machine):
dailykey --init
Then generate today's key:
dailykey
Or a named key for a specific purpose:
dailykey backupdisk
About
dailykey is developed by WaterJuice and released into the public domain under the Unlicense.