{"id":15660472,"url":"https://github.com/healeycodes/niceware","last_synced_at":"2025-05-05T21:11:34.962Z","repository":{"id":44860010,"uuid":"413822467","full_name":"healeycodes/niceware","owner":"healeycodes","description":":lock: Generate or convert random bytes into passphrases. A Rust port of niceware.","archived":false,"fork":false,"pushed_at":"2022-01-29T22:06:18.000Z","size":541,"stargazers_count":21,"open_issues_count":3,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-05-05T21:11:29.709Z","etag":null,"topics":["cryptography","diceware","generator","niceware","passphrase","password"],"latest_commit_sha":null,"homepage":"https://healeycodes.com/porting-niceware-to-rust","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/healeycodes.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-10-05T13:08:36.000Z","updated_at":"2024-09-19T06:36:14.000Z","dependencies_parsed_at":"2022-09-14T13:01:51.462Z","dependency_job_id":null,"html_url":"https://github.com/healeycodes/niceware","commit_stats":null,"previous_names":["healeycodes/rust-niceware"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/healeycodes%2Fniceware","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/healeycodes%2Fniceware/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/healeycodes%2Fniceware/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/healeycodes%2Fniceware/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/healeycodes","download_url":"https://codeload.github.com/healeycodes/niceware/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252577020,"owners_count":21770721,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cryptography","diceware","generator","niceware","passphrase","password"],"created_at":"2024-10-03T13:21:54.499Z","updated_at":"2025-05-05T21:11:34.935Z","avatar_url":"https://github.com/healeycodes.png","language":"Rust","readme":"# niceware\n\n[![Rust](https://github.com/healeycodes/niceware/actions/workflows/rust.yml/badge.svg)](https://github.com/healeycodes/niceware/actions/workflows/rust.yml) [![crates.io v1.0.0](https://img.shields.io/badge/crates.io-v1.0.0-brightgreen)](https://crates.io/crates/niceware)\n\n\u003e My blog post: [Porting Niceware to Rust](https://healeycodes.com/porting-niceware-to-rust)\n\n\u003cbr\u003e\n\n_A Rust port of [niceware](https://github.com/diracdeltas/niceware). Sections of this README have been copied from the original project._\n\nThis library generates random-yet-memorable passwords. Each word provides 16 bits of entropy, so a useful password requires at least 3 words.\n\nThe transformation from bytes to passphrase is reversible.\n\nBecause the wordlist is of exactly size 2^16, niceware is also useful for convert cryptographic keys and other sequences of random bytes into human-readable phrases. With niceware, a 128-bit key is equivalent to an 8-word phrase.\n\nSimilar to the source, heed this warning:\n\n\u003e WARNING: The wordlist has not been rigorously checked for offensive words. Use at your own risk.\n\n## Sample use cases\n- niceware can be used to generate secure, semi-memorable, easy-to-type passphrases. A random 3-5 word phrase in niceware is equivalent to a strong password for authentication to most online services. For instance, `+8svofk0Y1o=` and `bacca cavort west volley` are equally strong (64 bits of randomness).\n\n- niceware can be used to display cryptographic key material in a way that users can easily backup or copy between devices. For instance, the 128-bit random seed used to generate a 256-bit ECC key (~equivalent to a 3072-bit RSA key) is only 8 niceware words. With this 8-word phrase, you can reconstruct the entire public/private key pair.\n\n## Tests\n\n```bash\ncargo test\n```\n\n## Credits\n\nRust port:\n\n[@Kixunil](https://github.com/Kixunil) made some fantastic changes w/r/t idiomatic and performant Rust in [#2](https://github.com/healeycodes/niceware/pull/2).\n\nCode, tests, and docs are either straight-up ported/copied from, or inspired by [niceware](https://github.com/diracdeltas/niceware).\n\nOriginal:\n\nNiceware was inspired by [Diceware](http://world.std.com/~reinhold/diceware.html). Its wordlist is derived from [the SIL English word list](https://web.archive.org/web/20180803153208/http://www-01.sil.org/linguistics/wordlists/english/). This project is based on [diracdeltas] work on OpenPGP key backup for the Yahoo [End-to-End](https://github.com/yahoo/end-to-end) project.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhealeycodes%2Fniceware","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhealeycodes%2Fniceware","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhealeycodes%2Fniceware/lists"}