{"id":22595146,"url":"https://github.com/constantiner/cram-md5-digest-js","last_synced_at":"2025-03-28T19:14:15.549Z","repository":{"id":29871221,"uuid":"123030994","full_name":"Constantiner/cram-md5-digest-js","owner":"Constantiner","description":"CRAM-MD5 digester implementation in JavaScript","archived":false,"fork":false,"pushed_at":"2023-01-06T01:32:34.000Z","size":1821,"stargazers_count":1,"open_issues_count":13,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-17T21:44:16.907Z","etag":null,"topics":["base64","client-server","client-side","cryptography","digester","hash","javascript","library","md5"],"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/Constantiner.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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":"2018-02-26T21:10:44.000Z","updated_at":"2020-05-08T17:59:47.000Z","dependencies_parsed_at":"2023-01-14T15:49:14.812Z","dependency_job_id":null,"html_url":"https://github.com/Constantiner/cram-md5-digest-js","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Constantiner%2Fcram-md5-digest-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Constantiner%2Fcram-md5-digest-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Constantiner%2Fcram-md5-digest-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Constantiner%2Fcram-md5-digest-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Constantiner","download_url":"https://codeload.github.com/Constantiner/cram-md5-digest-js/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246085638,"owners_count":20721212,"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":["base64","client-server","client-side","cryptography","digester","hash","javascript","library","md5"],"created_at":"2024-12-08T10:09:09.904Z","updated_at":"2025-03-28T19:14:15.523Z","avatar_url":"https://github.com/Constantiner.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# cram-md5-digest-js\u003c!-- omit in toc --\u003e\n\n[![Build Status](https://travis-ci.org/Constantiner/cram-md5-digest-js.svg?branch=master)](https://travis-ci.org/Constantiner/cram-md5-digest-js) [![codecov](https://codecov.io/gh/Constantiner/cram-md5-digest-js/branch/master/graph/badge.svg)](https://codecov.io/gh/Constantiner/cram-md5-digest-js)\n\n[CRAM-MD5](https://en.wikipedia.org/wiki/CRAM-MD5) digester implementation in JavaScript with zero dependencies.\n\nIt uses a digest string from server and generates a hash using a secret (usually, password).\n\nThe library supports converting the resulting hash to Base64-encoded string.\n\n- [Installation](#installation)\n- [Changelog](#changelog)\n- [Usage](#usage)\n- [Documentation](#documentation)\n\t- [cramMd5Digest](#crammd5digest)\n\t- [cramMd5DigestBase64](#crammd5digestbase64)\n\n## Installation\n\n```\nnpm install @constantiner/cram-md5-digest\n```\n\n## Changelog\n\nVersions [changelog](CHANGELOG.md).\n\n## Usage\n\n```javascript\nimport { cramMd5DigestBase64 } from \"@constantiner/cram-md5-digest\";\n\ncramMd5DigestBase64(\"voxjx70j131lv9g645j6Znx8535l5Xb1nkl6CF0489lE2Gc^b*H\u0026F5jn\", \"1$G15/iw\");\n```\n\n## Documentation\n\n### cramMd5Digest\n\n```javascript\nimport { cramMd5Digest } from \"@constantiner/cram-md5-digest\";\n```\n\nGenerates MD5 hash from `passwordString` and `cramKey`.\n\nIt has the following parameters:\n\n* `passwordString` Is a secret (password) to hash (`String`).\n* `cramKey` Is a key (digest) to hash password with (`String`).\n\nIt returns a 32 symbols length string with calculated hash.\n\n### cramMd5DigestBase64\n\n```javascript\nimport { cramMd5DigestBase64 } from \"@constantiner/cram-md5-digest\";\n```\n\nGenerates MD5 hash from `passwordString` and `cramKey` and encodes it in Base64.\n\nIt has the following parameters:\n\n* `passwordString` Is a secret (password) to hash (`String`).\n* `cramKey` Is a key (digest) to hash password with (`String`).\n* `padding` (optional, default value is `false`) if `true` there is Base64 padding (=) added.\n\nIt returns a string with Base64-encoded hash (with padding or not).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconstantiner%2Fcram-md5-digest-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fconstantiner%2Fcram-md5-digest-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fconstantiner%2Fcram-md5-digest-js/lists"}