{"id":13646830,"url":"https://github.com/omgovich/omgopass","last_synced_at":"2025-04-04T23:09:06.617Z","repository":{"id":5101681,"uuid":"6264866","full_name":"omgovich/omgopass","owner":"omgovich","description":"*️⃣ A tiny memorable password generator for Node.js and browsers","archived":false,"fork":false,"pushed_at":"2021-08-30T08:13:25.000Z","size":410,"stargazers_count":238,"open_issues_count":1,"forks_count":15,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-28T22:14:43.727Z","etag":null,"topics":["crypto","generator","javascript","nodejs","password","password-generator","secure","utilities"],"latest_commit_sha":null,"homepage":"https://omgovich.github.io/omgopass/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/omgovich.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":"2012-10-17T16:44:45.000Z","updated_at":"2025-02-10T09:38:28.000Z","dependencies_parsed_at":"2022-07-12T15:01:24.390Z","dependency_job_id":null,"html_url":"https://github.com/omgovich/omgopass","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omgovich%2Fomgopass","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omgovich%2Fomgopass/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omgovich%2Fomgopass/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/omgovich%2Fomgopass/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/omgovich","download_url":"https://codeload.github.com/omgovich/omgopass/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247261612,"owners_count":20910108,"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":["crypto","generator","javascript","nodejs","password","password-generator","secure","utilities"],"created_at":"2024-08-02T01:03:09.186Z","updated_at":"2025-04-04T23:09:06.592Z","avatar_url":"https://github.com/omgovich.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# omgopass\n\n[![npm](https://img.shields.io/npm/v/omgopass.svg?color=%2356C838)](https://www.npmjs.com/package/omgopass) [![Build Status](https://travis-ci.com/omgovich/omgopass.svg?branch=master)](https://travis-ci.com/omgovich/omgopass) ![Dependencies](https://img.shields.io/david/omgovich/omgopass)\n\nA tiny memorable password generator\n\n- **Fast**: [600 times](#benchmark) faster than `password-generator`\n- **Small**: 322 bytes (minified and gzipped)\n- **Secure**: Uses [cryptographically strong random API](https://nodejs.org/api/crypto.html) instead of `Math.random`\n- **No dependencies**\n- Supports Node.js and browsers\n\nWhy you should consider using **omgopass** in your project? The library's goal is to provide the fastest and the smallest (in terms of the bundle size) password generation solution. We have performed a bunch of [benchmarks](#benchmark) against popular password generation libraries, and omgopass currently beats them all.\n\n### [Generate password online](https://omgovich.github.io/omgopass/)\n\n\u003cimg src=\"https://omgovich.github.io/omgopass/demo.gif\" width=\"400\"\u003e\n\n### Install\n\n```\nnpm install omgopass --save\n```\n\n### Usage\n\n```js\nimport generatePassword from \"omgopass\";\nconst password = generatePassword(); // \"Tu6Log5Bam4\"\n```\n\nBy default **omgopass** returns a random memorable password with size in range 9 to 12 characters.\nTo change password length you should config `syllablesCount`, `minSyllableLength` and `maxSyllableLength` options.\n\n#### Advanced Usage\n\n```js\ngeneratePassword({ hasNumbers: false }); // \"MunBedKod\"\n\ngeneratePassword({ syllablesCount: 5 }); // \"Rot2Ba5Vim1My8Red4\"\n\ngeneratePassword({ titlecased: false }); // \"si5co3ve8\"\n\ngeneratePassword({\n  syllablesCount: 4,\n  minSyllableLength: 3,\n  maxSyllableLength: 4,\n  hasNumbers: false,\n  titlecased: true,\n  separators: \"-_\",\n  vowels: \"аеиоуэюя\",\n  consonants: \"бвгджзклмнпрстчш\"\n}); // \"Зер_Коти-Лов_Меч\"\n```\n\n#### Recipe: Generate random passphrase\n\nLooking for long passwords that are easy to remember but hard to guess? Try to generate random passphrase instead.\n\n```js\ngeneratePassword({\n  minSyllableLength: 4,\n  maxSyllableLength: 6,\n  hasNumbers: false,\n  titlecased: false,\n  separators: \" \"\n}); // \"goferu lipeba cyzex\"\n```\n\n#### Available options\n\n| Name                | Description                             | Default              |\n| ------------------- | --------------------------------------- | -------------------- |\n| `syllablesCount`    | Integer, count of syllables             | `3`                  |\n| `minSyllableLength` | Integer, minimal length of a syllable   | `2`                  |\n| `maxSyllableLength` | Integer, max length of a syllable       | `3`                  |\n| `hasNumbers`        | Boolean, put numbers in the password    | `true`               |\n| `titlecased`        | Boolean, use titlecase                  | `true`               |\n| `vowels`            | String, vowel alphabet                  | `'aeiouy'`           |\n| `consonants`        | String, consonant alphabet              | `'bcdfghklmnprstvz'` |\n| `separators`        | String, symbols that separate syllables | `''`                 |\n\n### Benchmark\n\n| name                   | ops/sec       | size (bytes) | memorable | browser | node |\n| ---------------------- | ------------- | ------------ | --------- | ------- | ---- |\n| omgopass               | **1 430 233** | **322**      | ✅        | ✅       | ✅   |\n| password-generator     | 2 163         | 644          | ✅        | ✅       | ✅   |\n| generate-password      | 696 006       | 740          | ❌        | ❌       | ✅   |\n| randomatic             | 29 796        | 1 740        | ❌        | ✅       | ✅   |\n| secure-random-password | 7 622         | 8 939        | ❌        | ✅       | ✅   |\n| niceware               | 327 805       | 195 584      | ✅        | ✅       | ✅   |\n| xkpasswd               | 793 456       | 732 160      | ✅        | ❌       | ✅   |\n\nBenchmark results were generated on a MBP 2018, 2,3 GHz Intel Core i5. To perform these tests, execute `npm run benchmark` in the library folder.\n\n### Who uses omgopass\n\n- [LogChimp](https://github.com/logchimp/logchimp) — self-hosted platform for products makers to get feedback from their users\n- [Laravel VPN Admin](https://github.com/Laravel-VPN-Admin/api-core) — Admin panel for VPN servers management\n- [Password Pusher](https://github.com/pglombardo/PasswordPusher) - application to securely communicate passwords over the web\n\n### Supporting IE11 and obsolete platforms\n\nThis library uses features like [destructuring assignment](https://kangax.github.io/compat-table/es6/#test-destructuring,_assignment) and [`const/let` declarations](https://kangax.github.io/compat-table/es6/#test-const) and doesn't ship with ES5 transpiled sources. If you aim to support browsers like IE11 and below → make sure you run Babel over your `node_modules`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomgovich%2Fomgopass","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fomgovich%2Fomgopass","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fomgovich%2Fomgopass/lists"}