{"id":44056190,"url":"https://github.com/fireguard/crypto-utils","last_synced_at":"2026-02-08T00:30:41.751Z","repository":{"id":98817382,"uuid":"287996263","full_name":"fireguard/crypto-utils","owner":"fireguard","description":null,"archived":false,"fork":false,"pushed_at":"2021-01-20T23:28:19.000Z","size":44,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-05T11:02:59.722Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/fireguard.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-08-16T17:56:00.000Z","updated_at":"2021-01-20T23:22:42.000Z","dependencies_parsed_at":"2023-04-10T17:49:14.900Z","dependency_job_id":null,"html_url":"https://github.com/fireguard/crypto-utils","commit_stats":{"total_commits":8,"total_committers":1,"mean_commits":8.0,"dds":0.0,"last_synced_commit":"76231dec332e28bb535f64b27f41de0b3202c906"},"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/fireguard/crypto-utils","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireguard%2Fcrypto-utils","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireguard%2Fcrypto-utils/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireguard%2Fcrypto-utils/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireguard%2Fcrypto-utils/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fireguard","download_url":"https://codeload.github.com/fireguard/crypto-utils/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fireguard%2Fcrypto-utils/sbom","scorecard":{"id":400823,"data":{"date":"2025-08-11","repo":{"name":"github.com/fireguard/crypto-utils","commit":"76231dec332e28bb535f64b27f41de0b3202c906"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":1.7,"checks":[{"name":"Code-Review","score":0,"reason":"Found 0/8 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"SAST","score":0,"reason":"no SAST tool detected","details":["Warn: no pull requests merged into dev branch"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Vulnerabilities","score":0,"reason":"21 existing vulnerabilities detected","details":["Warn: Project is vulnerable to: GHSA-93q8-gq69-wqmw","Warn: Project is vulnerable to: GHSA-v6h2-p8h4-qcjw","Warn: Project is vulnerable to: GHSA-3xgq-45jj-v275","Warn: Project is vulnerable to: GHSA-gxpj-cx7g-858c","Warn: Project is vulnerable to: GHSA-ww39-953v-wcq6","Warn: Project is vulnerable to: GHSA-43f8-2h32-f4cj","Warn: Project is vulnerable to: GHSA-qqgx-2p2h-9c37","Warn: Project is vulnerable to: GHSA-9c47-m6qq-7p4h","Warn: Project is vulnerable to: GHSA-29mw-wpgm-hmr9","Warn: Project is vulnerable to: GHSA-35jh-r3h4-6jhm","Warn: Project is vulnerable to: GHSA-f8q6-p94x-37v3","Warn: Project is vulnerable to: GHSA-xvch-5gv4-984h","Warn: Project is vulnerable to: GHSA-hj48-42vr-x3v9","Warn: Project is vulnerable to: GHSA-c2qf-rxjj-qqgw","Warn: Project is vulnerable to: GHSA-3jfq-g458-7qm9","Warn: Project is vulnerable to: GHSA-r628-mhmh-qjhw","Warn: Project is vulnerable to: GHSA-9r2w-394v-53qc","Warn: Project is vulnerable to: GHSA-5955-9wpr-37jh","Warn: Project is vulnerable to: GHSA-qq89-hq3f-393p","Warn: Project is vulnerable to: GHSA-f5x3-32g6-xq36","Warn: Project is vulnerable to: GHSA-j8xg-fqg3-53r7"],"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}}]},"last_synced_at":"2025-08-18T20:03:11.158Z","repository_id":98817382,"created_at":"2025-08-18T20:03:11.158Z","updated_at":"2025-08-18T20:03:11.158Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29214394,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-08T00:10:47.190Z","status":"ssl_error","status_checked_at":"2026-02-08T00:10:43.589Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":[],"created_at":"2026-02-08T00:30:41.233Z","updated_at":"2026-02-08T00:30:41.745Z","avatar_url":"https://github.com/fireguard.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fireguard command line crypto utils\n\n# Install\n\n```bash\nnpm install -g @fireguard/crypto-utils\n```\n\n# Get available commands\n```bash\ncrypto -h\n```\n\n# Generate random password\n\n## Basic use\n``` bash\ncrypto pass\n\n# Result\nPassword 1: K2O7%%79Yl0l1Z\u0026t\n```\n\n## Generate password with the length of 20 characters\n```bash\ncrypto pass 20\n\n# Result\nPassword 1: M?dMM0$+WoUnn%4H4s7j\n```\n\n## Generate 3 passwords with the length of 20 characters\n```bash\ncrypto pass 20 -r 3\n\n# Result\nPassword 1: YLr#xK%1oPa%!dy\u0026T0UU\n---------------------------\nPassword 2: qQ%Xi2AU*Mbly882ppqb\n---------------------------\nPassword 3: x5s%?7+HsQXokLWzhLZu\n---------------------------\n```\n\n## Generate password with setted criteria and 20 characters\n```bash\ncrypto pass 20 -n 1 -s 2 -u 3 -l 4\n\n# (-n) 1 Number character\n# (-s) 2 Symbols characters\n# (-u) 3 Uppercase characters\n# (-l) 4 Lowercase characters\n\n# Result\nPassword 1: XAxJXi\u0026t0CUsm80v?Z*\n```\n\n## Generate password with bcrypt salt and hash\n```bash\ncrypto pass 20 --recovery\n\n# Result\nPassword 1: s#b!yXSqL89:b+R:3vhp\nSalt: $2b$10$UeQ898VPeLhqsgPza97pB.\nHash: $2b$10$UeQ898VPeLhqsgPza97pB.3kbOmUbiArHpV8RaVF8372p45CoIVxC\n```\n\n## Generate password with bcrypt salt with 12 interactions and hash\n```bash\ncrypto pass 20 --recovery --salts 12\n\n# Result\nPassword 1: B!OGAM:V\u0026vi!N033OSRa\nSalt: $2b$12$cRLJ1sVdej3nE/DLIphTDO\nHash: $2b$12$cRLJ1sVdej3nE/DLIphTDOqQpT045XYUh7eEsy5RMmSGOGoY3UPRW\n```\n\n## Generate 4 passwords with bcrypt salt with 12 interactions and hash\n``` bash\ncrypto pass 20 --recovery --salts 12 -r 4\n\n# Result\nPassword 1: 6xV34\u0026ntAjU#9qRN@%is\nSalt: $2b$12$NEkzUOi3MTJdyQHRtp0Utu\nHash: $2b$12$NEkzUOi3MTJdyQHRtp0UtuMi4Nw8ue9tPB.Lu.Qg/1KHszrwjphYu\n---------------------------\nPassword 2: oau1uVU\u0026k\u0026@gjx6y*POE\nSalt: $2b$12$26WiAoPzpXPRKDzlYorBHe\nHash: $2b$12$26WiAoPzpXPRKDzlYorBHeTKQXsqCGS4DY6jVm6zB/I2/ydqPgLPa\n---------------------------\nPassword 3: H#3IRHD2%q7fwHCRIjBe\nSalt: $2b$12$Id9eqaejsH1UoE8fzc85gO\nHash: $2b$12$Id9eqaejsH1UoE8fzc85gOcBHXtrftkvVjT9swhgfwzkFMAi7OZ3u\n---------------------------\nPassword 4: Z%?gj78+qwv5PHKJ+izV\nSalt: $2b$12$yCCAiySRFUfraD3gA8y1D.\nHash: $2b$12$yCCAiySRFUfraD3gA8y1D.Q5U3OBeXDd45OH56uhlHZhQNuEjvrpC\n---------------------------\n```\n\n# Manager OTP flow\n\n## Autenticator ( Google Authenticator )\n\n### Generate secret\n``` bash\ncrypto authenticator\n\n# Result\nSecret: BAHUYURJJA7F6EJ5IFME2QAQG4\n\n# Generate with 36 bytes for secret\ncrypto authenticator -b 36\n\n# Result\nSecret: KISHKJQWIRESICYNCFCSOGBDFMDHIJJ7JMFQWDJJKY3HO6IKPYRSQ7KLDM\n```\n\n### Generate code for secret\n``` bash\ncrypto authenticator BAHUYURJJA7F6EJ5IFME2QAQG4\n\n# Result\nCode: 207855\n\n# Generate code for 8 digits\ncrypto authenticator BAHUYURJJA7F6EJ5IFME2QAQG4 -d 8\n\n# Result\nCode: 39771567\n```\n\n### Validate code for secret and code\n``` bash\ncrypto authenticator BAHUYURJJA7F6EJ5IFME2QAQG4 -c 946523\n\n# Result\nResult: VALID\n\n# For invalid code\ncrypto authenticator BAHUYURJJA7F6EJ5IFME2QAQG4 -c 0\n\n# Result\nResult: INVALID\n```\n\n## TOtp\n\n### Generate code for secret\n``` bash\ncrypto totp BAHUYURJJA7F6EJ5IFME2QAQG4\n\n# Result\nCode: 034919\n\n# Generate code for 8 digits\ncrypto totp BAHUYURJJA7F6EJ5IFME2QAQG4 -d 8\n\n# Result\nCode: 42915957\n```\n\n### Validate code for secret and code\n``` bash\ncrypto totp BAHUYURJJA7F6EJ5IFME2QAQG4 -c 698844\n\n# Result\nResult: VALID\n\n# For invalid code\ncrypto totp BAHUYURJJA7F6EJ5IFME2QAQG4 -c 0\n\n# Result\nResult: INVALID\n```\n\n# Generate deterministic token\n\n## Basic use\n``` bash\ncrypto token 5f3a9c89db3c5f7c32bc6463\n\n# Result\nToken: NDY3M2RjM2E0NmJkOGUzYmU4YjU4NmIzODQ1N2FlMGRkMDk0OGEyODZjODA4MDk2OTIwZTY5ZmIzOTViYjU4ZQ==\n\n# Validate token\ncrypto token -t NDY3M2RjM2E0NmJkOGUzYmU4YjU4NmIzODQ1N2FlMGRkMDk0OGEyODZjODA4MDk2OTIwZTY5ZmIzOTViYjU4ZQ== 5f3a9c89db3c5f7c32bc6463\n\n# Result\nResult: VALID\n```\n\n## Basic set multiples params\n``` bash\ncrypto token 5f3a9c89db3c5f7c32bc6463 5dee6e906ef1a32011d7c34d EMAIL 2\n\n# Result\nToken: Mjg0YjAzM2JiNTg0MDA2Mzc0MTQ2MDVkNTZkZjM2NTBkM2I2MGE2NGEyMzMyMmRmMDQ5M2VlNjE2YWE2YWM2Yg==\n\n# Validate token\ncrypto token -t Mjg0YjAzM2JiNTg0MDA2Mzc0MTQ2MDVkNTZkZjM2NTBkM2I2MGE2NGEyMzMyMmRmMDQ5M2VlNjE2YWE2YWM2Yg== 5f3a9c89db3c5f7c32bc6463 5dee6e906ef1a32011d7c34d EMAIL 2\n\n# Result\nResult: VALID\n```\n\n## Set hash Algorithm\n\nAvaliable algorithms: sha1, mdc2, ripemd160, sha224, sha256, sha384, sha512, md4, md5\nDefault algorithm: sha256\n\n``` bash\ncrypto token 5f3a9c89db3c5f7c32bc6463 -a sha1\n\n# Result\nToken: NDk2MWY2NTk5NjAxYzcxODA4NDQ5NDAyMmUzMjVmODlmN2NlNGFiNQ==\n```\n\n``` bash\ncrypto token 5f3a9c89db3c5f7c32bc6463 -a sha512\n\n# Result\nODEyMTJiNTg1ZjNkZDg2OGJmMGNlYmFjYTk0YTYwOTdmYTViZmYxYTM3MmUyYTAxMjA0YjBmMzU2NDI1M2ViODBiZTY1ZjA2OTQyMjc5ODAzOWViYTI4MmNjMzUwMGI4NDE3OGQ2YmZlMzRhOGVkYzQ0ZmY0OGM2MDAxMzgyZmU=\n```\n\n\n# Encrypt string\n\n\n## Basic use\n``` bash\ncrypto encrypt STRING_TO_ENCRYPT\n\n# Result\nKey: 8843d7f92416211de9ebb963ff4ce281\nEncrypted: 88o7ZDO4xWt/NtXohApy1avoG07hyw==\n```\n\n## Encrypt with pre-existing key\n``` bash\ncrypto encrypt -k 8843d7f92416211de9ebb963ff4ce281 STRING_TO_ENCRYPT\n\n# Result\nKey: 8843d7f92416211de9ebb963ff4ce281\nEncrypted: uixkAR5r+cNiHTHJYWhqxd5L+ZCqsw==\n```\n\n# Decrypt string\n\n## Basic use\n``` bash\ncrypto decrypt -k 8843d7f92416211de9ebb963ff4ce281 uixkAR5r+cNiHTHJYWhqxd5L+ZCqsw==\n\n# Result\nDecrypted: STRING_TO_ENCRYPT\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffireguard%2Fcrypto-utils","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffireguard%2Fcrypto-utils","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffireguard%2Fcrypto-utils/lists"}