{"id":32305580,"url":"https://github.com/tinoguo/r_crypto","last_synced_at":"2025-10-23T06:52:35.344Z","repository":{"id":46791467,"uuid":"299373176","full_name":"TinoGuo/r_crypto","owner":"TinoGuo","description":"🦀🦀 High performance Crypto library of Rust implementation for Flutter","archived":false,"fork":false,"pushed_at":"2024-05-19T14:32:12.000Z","size":1244,"stargazers_count":31,"open_issues_count":2,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-05-19T15:37:35.798Z","etag":null,"topics":["blake2","blake3","crypto","dart","digest","flutter","hash","library","md5","plugin","rust","sha1","sha2","sha3","whirlpool"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/TinoGuo.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":"2020-09-28T16:49:30.000Z","updated_at":"2024-05-19T14:32:17.000Z","dependencies_parsed_at":"2022-08-12T13:01:21.740Z","dependency_job_id":null,"html_url":"https://github.com/TinoGuo/r_crypto","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/TinoGuo/r_crypto","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TinoGuo%2Fr_crypto","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TinoGuo%2Fr_crypto/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TinoGuo%2Fr_crypto/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TinoGuo%2Fr_crypto/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/TinoGuo","download_url":"https://codeload.github.com/TinoGuo/r_crypto/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/TinoGuo%2Fr_crypto/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":280577134,"owners_count":26354072,"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-10-23T02:00:06.710Z","response_time":142,"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":["blake2","blake3","crypto","dart","digest","flutter","hash","library","md5","plugin","rust","sha1","sha2","sha3","whirlpool"],"created_at":"2025-10-23T06:52:32.175Z","updated_at":"2025-10-23T06:52:35.339Z","avatar_url":"https://github.com/TinoGuo.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"![](https://github.com/TinoGuo/r_crypto/workflows/CI%20check/badge.svg?branch=master)\n[![pub package](https://img.shields.io/pub/v/r_crypto.svg)](https://pub.dartlang.org/packages/r_crypto)\n![GitHub](https://img.shields.io/github/license/TinoGuo/r_crypto)\n![GitHub top language](https://img.shields.io/github/languages/top/TinoGuo/r_crypto)\n![GitHub language count](https://img.shields.io/github/languages/count/TinoGuo/r_crypto.svg)\n\n# r_crypto\n\nRust backend support crypto flutter library, much faster than Dart-implementation library, light-weight library.\n\nSome crypto support hardware accelerate.\n\n## Support Algorithm\n\n### Hashes\n\n- MD5\n- SHA1\n- SHA2\n    - SHA224\n    - SHA256\n    - SHA384\n    - SHA512-trunc224\n    - SHA512-trunc256\n- SHA3\n    - SHA3-224\n    - SHA3-256\n    - SHA3-384\n    - SHA3-512\n    - SHAKE-128\n    - SHAKE-256\n    - KECCAK224\n    - KECCAK256\n    - KECCAK384\n    - KECCAK512\n- Whirlpool\n- Blake2\n    - Blake2b\n    - Blake2s\n- Blake3\n- Groestl\n    - Groestl224\n    - Groestl256\n    - Groestl384\n    - Groestl512\n    - GroestlBig\n    - GroestlSmall\n- RIPEMD160 (RIPEMD-320 provides only the same security as RIPEMD-160)\n- Shabal\n    - Shabal192\n    - Shabal224\n    - Shabal256\n    - Shabal384\n    - Shabal512\n\nMore digest will support soon.\n\n## Support Platform\n\n- Android\n    - arm64-v8a\n    - armeabi-v7a\n    - x86\n    - x86_64\n- iOS\n    - arm64\n    - x86_64\n- macOS\n    - x86_64\n    - arm64(WIP)\n- Windows\n    - x86_64\n    - x86(Not support now and feature)\n- Linux\n    - x86_64\n\n## Example Usage\n\n### Hash\n\n```dart\nimport 'package:r_crypto/r_crypto.dart';\n\n// For fixed output length digest\nrHash.hashString(HashType.MD5, input);\n// For dynamic output length digest\nrHash.hashString(HashType.blake3(length: 64), input);\n// Also accept List\u003cint\u003e as parameter\nrHash.hashList(HashType.KECCAK_224, [0,1,2]);\n// Hash File\nrHash.filePath(HashType.blake3(length: 32), path);\n\n// Encode the list\nhex.encode(list);\n```\n\n## Note\n\n- Windows user needs to download the [rcrypto.dll](https://github.com/TinoGuo/r_crypto/releases) and put it in the same folder with *.exe. It's the limitation of the Flutter Windows Plugin now.\n\n## TODO\n- [x] Support file input\n- [ ] Support encrypt/decrypt algorithm","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinoguo%2Fr_crypto","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftinoguo%2Fr_crypto","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftinoguo%2Fr_crypto/lists"}