{"id":22281010,"url":"https://github.com/danang-id/simple-crypto-js","last_synced_at":"2025-04-05T21:07:13.496Z","repository":{"id":45565991,"uuid":"107109971","full_name":"danang-id/simple-crypto-js","owner":"danang-id","description":"Simplified AES cryptography for safer and easier encryption and decryption processes of any JavaScript objects.","archived":false,"fork":false,"pushed_at":"2024-11-25T09:42:38.000Z","size":2974,"stargazers_count":85,"open_issues_count":11,"forks_count":27,"subscribers_count":2,"default_branch":"latest","last_synced_at":"2025-03-29T20:04:18.911Z","etag":null,"topics":["crypto-js","cryptography","decryption","ecmascript5","encryption","javascript-library","typescript"],"latest_commit_sha":null,"homepage":"https://simplecrypto.js.org","language":"TypeScript","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/danang-id.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-10-16T09:58:22.000Z","updated_at":"2024-11-27T13:44:59.000Z","dependencies_parsed_at":"2025-01-07T00:40:02.724Z","dependency_job_id":null,"html_url":"https://github.com/danang-id/simple-crypto-js","commit_stats":{"total_commits":131,"total_committers":9,"mean_commits":"14.555555555555555","dds":0.4580152671755725,"last_synced_commit":"840e8e294f3852568373832785e63f527019a5d0"},"previous_names":[],"tags_count":18,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danang-id%2Fsimple-crypto-js","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danang-id%2Fsimple-crypto-js/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danang-id%2Fsimple-crypto-js/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/danang-id%2Fsimple-crypto-js/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/danang-id","download_url":"https://codeload.github.com/danang-id/simple-crypto-js/tar.gz/refs/heads/latest","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247399876,"owners_count":20932876,"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-js","cryptography","decryption","ecmascript5","encryption","javascript-library","typescript"],"created_at":"2024-12-03T16:12:13.697Z","updated_at":"2025-04-05T21:07:13.474Z","avatar_url":"https://github.com/danang-id.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SimpleCrypto\n\n[![GitHub Release](https://img.shields.io/github/release/danang-id/simple-crypto-js.svg)](https://github.com/danang-id/simple-crypto-js/releases)\n[![Build Distribution](https://github.com/danang-id/simple-crypto-js/actions/workflows/build-distribution.yml/badge.svg)](https://github.com/danang-id/simple-crypto-js/actions/workflows/build-distribution.yml)\n[![Coverage Status](https://coveralls.io/repos/github/danang-id/simple-crypto-js/badge.svg?branch=master)](https://coveralls.io/github/danang-id/simple-crypto-js?branch=master)\n[![Dependencies Status](https://img.shields.io/librariesio/release/npm/simple-crypto-js/latest.svg)](https://www.npmjs.com/package/simple-crypto-js?activeTab=dependencies)\n\n[![NPM Version](https://img.shields.io/npm/v/simple-crypto-js/latest.svg)](https://www.npmjs.com/package/simple-crypto-js)\n[![License](https://img.shields.io/npm/l/simple-crypto-js.svg)](#license)\n[![Monthly Downloads](https://img.shields.io/npm/dm/simple-crypto-js.svg)](https://www.npmjs.com/package/simple-crypto-js)\n\n**_SimpleCrypto_** is a JavaScript library that simplify the process of encryption and decryption of JavaScript objects, as simple as just calling `encrypt()` and `decrypt()` function. This library implements brix's [crypto-js](https://github.com/brix/crypto-js) library. This library is pure JavaScript library built with TypeScript targeting CommonJS ECMAScript 5 (ES5), so it is compatible with most NodeJS back-end applications or JavaScript front-end (client browser).\n\n## Breaking Changes\n\n**v2.3.0: New Algorithm**\n\nSimpleCrypto v2.3.0 onward will use a new algorithm, because the older one was vulnerable to chosen cipher attack. Any **data that encrypted using v2.2.0 and earlier will NOT be able to be decrypted using v2.3.0 onward**; vice versa: data encrypted using v2.3.0 onward will NOT be able to be decrypted using v2.2.0 and earlier.\n\n**v3.0.0: New Native Crypto Module**\n\nSimpleCrypto v3.0.0 onward will use new `crypto-js` dependency version `^4.0.0`. This version of `crypto-js` replaces `Math.random()` method with native crypto module. Because of this, **SimpleCrypto might not be able to run on some environments without native crypto module support, such as IE 10 (and earlier) or React Native**.\n\nPlease [read more here](https://github.com/brix/crypto-js#400).\n\n## List of Contents\n\n* [SimpleCrypto](#simplecrypto)\n    * [Breaking Changes](#breaking-changes)\n    * [List of Contents](#list-of-contents)\n    * [What's New?](#whats-new)\n    * [Getting Started](#getting-started)\n    * [How to Use SimpleCrypto](#how-to-use-simplecrypto)\n    * [Built With](#built-with)\n    * [Contribution](#contribution)\n    * [Version Management](#version-management)\n    * [Authors](#authors)\n    * [License](#license)\n    * [Acknowledgments](#acknowledgments)\n\n## What's New?\n\n**What's New in 3.0.1 (latest current)**\n\n* Upgrade `crypto-js` dependency to version `4.1.1`.\n* Improving typings.\n\n**What's New in 2.5.1 (latest legacy)**\n\n* Improving typings.\n\nFor full change-log, please refer to [CHANGELOG](CHANGELOG.md) file.\n\n## Getting Started\n\nThis library is available through [jsDelivr CDN](https://cdn.jsdelivr.net/npm/simple-crypto-js@legacy/dist/SimpleCrypto.min.js) and package manager (like [npm](https://www.npmjs.org/) or [yarn](https://www.yarnpkg.com/)).\n\n### Vanilla JavaScript + HTML\n\nTo get started, add SimpleCrypto script to your HTML page. **Only legacy version of SimpleCrypto is supported.**\n\n```html\n\u003chead\u003e\n    \u003c!-- Another line --\u003e\n    \u003cscript src=\"//cdn.jsdelivr.net/npm/simple-crypto-js@legacy/dist/SimpleCrypto.min.js\"\u003e\u003c/script\u003e\n    \u003c!-- Another line --\u003e\n\u003c/head\u003e\n```\n\nThen, your script section, you may use `SimpleCrypto` as Class to create a new SimpleCrypto instance.\n\n```html\n\u003cbody\u003e\n\u003c!-- Another line --\u003e\n\u003cscript lang=\"js\"\u003e\n    var simpleCrypto = new SimpleCrypto(\"a very secret key\")\n    \u003c!-- Do your cryptographic logic here  --\u003e\n\u003c/script\u003e\n\u003c!-- Another line --\u003e\n\u003c/body\u003e\n```\n\n### NodeJS\n\nIf you are using NodeJS, add `simple-crypto-js` as your project dependency.\n\n```bash\n# If you're using NPM\nnpm install --save simple-crypto-js\n\n# If you're using Yarn\nyarn add simple-crypto-js\n```\n\nThen, include **_SimpleCrypto_** your project.\n\n```javascript\nvar SimpleCrypto = require(\"simple-crypto-js\").default\n```\n\nIf you are using Babel or TypeScript that support import statement, you could go that way.\n\n```javascript\nimport SimpleCrypto from \"simple-crypto-js\"\n```\n\n## How to Use SimpleCrypto\n\nFull documentation about **_SimpleCrypto_** API is [available here](https://simplecrypto.js.org/docs).\n\n## Built With\n\nWritten in [TypeScript](https://typscriptlang.org/), built into ECMAScript 5 using the TypeScript compiler and webpack bundler.\n\n## Contribution\n\nTo contribute, simply fork this project, and issue a pull request. However, before issuing a pull request, you have to make sure that your changes will not break current API, its parameter and its expected output.\n\nYou may test your changes by running the test script.\n\n```bash\nnpm run test\n```\n\nIf all tests were passed, you are good to go.\n\n## Version Management\n\nWe use [Semantic Versioning](http://semver.org/) for version management. For the versions available, see the [tags on this repository](https://github.com/danang-id/simple-crypto-js/tags).\n\n## Authors\n\n* **Danang Galuh Tegar Prasetyo** - _Initial work_ - [danang-id](https://github.com/danang-id)\n\nSee also the list of [contributors](https://github.com/danang-id/simple-crypto-js/contributors) who participated in this project.\n\n## License\n\nThis project is licensed under the MIT License - see the [LICENSE](LICENSE.md) file for details\n\n## Acknowledgments\n\n* This library was developed to support and simplify the [Secure Cookies](https://github.com/danang-id/secure-cookies) library.\n* Made available by open source and of course brix's [crypto-js](https://github.com/brix/crypto-js) library\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanang-id%2Fsimple-crypto-js","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanang-id%2Fsimple-crypto-js","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanang-id%2Fsimple-crypto-js/lists"}