{"id":4475,"url":"https://github.com/mvayngrib/react-native-crypto","last_synced_at":"2025-12-30T16:12:32.702Z","repository":{"id":57336326,"uuid":"113699148","full_name":"mvayngrib/react-native-crypto","owner":"mvayngrib","description":"THIS REPOSITORY HAS MOVED. ITS NEW LOCATION IS HERE: https://github.com/tradle/react-native-crypto","archived":false,"fork":true,"pushed_at":"2017-12-09T20:30:30.000Z","size":291,"stargazers_count":27,"open_issues_count":0,"forks_count":15,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-03T12:05:58.783Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"tradle/react-native-crypto","license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mvayngrib.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":"2017-12-09T20:29:58.000Z","updated_at":"2024-07-09T19:20:32.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/mvayngrib/react-native-crypto","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"purl":"pkg:github/mvayngrib/react-native-crypto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvayngrib%2Freact-native-crypto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvayngrib%2Freact-native-crypto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvayngrib%2Freact-native-crypto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvayngrib%2Freact-native-crypto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mvayngrib","download_url":"https://codeload.github.com/mvayngrib/react-native-crypto/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mvayngrib%2Freact-native-crypto/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268636382,"owners_count":24282081,"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","status":"online","status_checked_at":"2025-08-03T02:00:12.545Z","response_time":2577,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":"2024-01-05T20:17:13.708Z","updated_at":"2025-12-14T22:31:13.823Z","avatar_url":"https://github.com/mvayngrib.png","language":"JavaScript","funding_links":[],"categories":["Components"],"sub_categories":["Utils \u0026 Infra"],"readme":"# react-native-crypto\n\nTHIS REPOSITORY HAS MOVED. IT'S NEW LOCATION IS HERE: [https://github.com/tradle/react-native-crypto](https://github.com/tradle/react-native-crypto)\n\nNote: this module is a clone of [crypto-browserify](https://github.com/crypto-browserify/crypto-browserify), with randombytes replaced. When React Native begins to [support](https://github.com/facebook/react-native) the \"react-native\" keyword in package.json, this module may go away\n\nA port of node's `crypto` module to React Native.\n\n## install\n\nBecause this module depends on some node core modules, and react-native doesn't currently have a [resolve.alias a la webpack](https://productpains.com/post/react-native/packager-support-resolvealias-ala-webpack), you will need to use [rn-nodeify](https://github.com/mvayngrib/rn-nodeify) for your shimming needs.\n\nA typical workflow:\n\n1. Install\n  ```sh\n  npm i --save react-native-crypto\n  # install peer deps\n  npm i --save react-native-randombytes\n  react-native link react-native-randombytes\n  # install latest rn-nodeify\n  npm i --save-dev mvayngrib/rn-nodeify\n  # install node core shims and recursively hack package.json files\n  # in ./node_modules to add/update the \"browser\"/\"react-native\" field with relevant mappings\n  ./node_modules/.bin/rn-nodeify --hack --install\n  ```\n\n2. `rn-nodeify` will create a `shim.js` in the project root directory\n  ```js\n  // index.ios.js or index.android.js\n  // make sure you use `import` and not require!  \n  import './shim.js'\n  // ...the rest of your code\n  ```\n\n## the crypto in this box\n\nWhat follows is unedited text from crypto-browserify\n\nThe goal of this module is to reimplement node's crypto module so that it can run in react-native supported environments.\n\nHere is the subset that is currently implemented:\n\n* createHash (sha1, sha224, sha256, sha384, sha512, md5, rmd160)\n* createHmac (sha1, sha224, sha256, sha384, sha512, md5, rmd160)\n* pbkdf2\n* pbkdf2Sync\n* randomBytes\n* pseudoRandomBytes\n* createCipher (aes)\n* createDecipher (aes)\n* createDiffieHellman\n* createSign (rsa, ecdsa)\n* createVerify (rsa, ecdsa)\n* createECDH (secp256k1)\n* publicEncrypt/privateDecrypt (rsa)\n\n## todo\n\nthese features from node's `crypto` are still unimplemented.\n\n* createCredentials\n\nthese features would benefit from native implementations\n\n* pbkdf2\n* createSign\n* createVerify\n* createECDH\n* publicEncrypto/privateDecrypt (rsa)\n\n## contributions\n\nIf you are interested in writing a feature, please implement as a new module,\nwhich will be incorporated into crypto-browserify as a dependency.\n\nAll deps must be compatible with node's crypto\n(generate example inputs and outputs with node,\nand save base64 strings inside JSON, so that tests can run in the browser.\nsee [sha.js](https://github.com/dominictarr/sha.js)\n\nCrypto is _extra serious_ so please do not hesitate to review the code,\nand post comments if you do.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmvayngrib%2Freact-native-crypto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmvayngrib%2Freact-native-crypto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmvayngrib%2Freact-native-crypto/lists"}