{"id":45975084,"url":"https://github.com/hanbu97/motoko-sha3","last_synced_at":"2026-02-28T16:04:14.819Z","repository":{"id":147209762,"uuid":"607566088","full_name":"hanbu97/motoko-sha3","owner":"hanbu97","description":"Keccak/Sha3 implementation in Motoko.","archived":false,"fork":false,"pushed_at":"2025-07-29T04:56:55.000Z","size":14,"stargazers_count":5,"open_issues_count":1,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-29T06:54:17.705Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Motoko","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/hanbu97.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,"zenodo":null}},"created_at":"2023-02-28T08:26:05.000Z","updated_at":"2025-07-29T04:57:00.000Z","dependencies_parsed_at":null,"dependency_job_id":"f04b594f-c306-4ed8-b504-ddaceeb9f302","html_url":"https://github.com/hanbu97/motoko-sha3","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":"timohanke/motoko-template","purl":"pkg:github/hanbu97/motoko-sha3","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanbu97%2Fmotoko-sha3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanbu97%2Fmotoko-sha3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanbu97%2Fmotoko-sha3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanbu97%2Fmotoko-sha3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hanbu97","download_url":"https://codeload.github.com/hanbu97/motoko-sha3/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanbu97%2Fmotoko-sha3/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29941807,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-28T13:49:17.081Z","status":"ssl_error","status_checked_at":"2026-02-28T13:48:50.396Z","response_time":90,"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-28T16:04:14.732Z","updated_at":"2026-02-28T16:04:14.809Z","avatar_url":"https://github.com/hanbu97.png","language":"Motoko","readme":"## Motoko Sha3 and Keccak Library\nSupporting:\n- Sha3\n  - Sha3-224: SHA3.Sha3(224)\n  - Sha3-256: SHA3.Sha3(256)\n  - Sha3-384: SHA3.Sha3(384)\n  - Sha3-512: SHA3.Sha3(512)\n- Keccak\n  - Keccak-224: SHA3.Keccak(224)\n  - Keccak-256: SHA3.Keccak(256)\n  - Keccak-384: SHA3.Keccak(384)\n  - Keccak-512: SHA3.Keccak(512)\n\n## Usage\n- Create hasher\n```\nvar sha = SHA3.Sha3(224);\n```\n- Digest data bytes\n```\nsha.update([104 : Nat8, 101, 108, 108, 111]);\n```\n- finalize to a [Nat8] array\n```\nlet result = sha.finalize();\n```\n\n## Example\n- hash \"hello world!\" using keccak-512\n```\nvar sha = SHA3.Keccak(512);\nlet hello = Blob.toArray(Text.encodeUtf8(\"hello\"));\nlet space = Blob.toArray(Text.encodeUtf8(\" \"));\nlet world = Blob.toArray(Text.encodeUtf8(\"world!\"));\nsha.update(hello);\nsha.update(space);\nsha.update(world);\nlet result = sha.finalize();\nlet hex = Hex.encode(result);\nDebug.print(hex);\n// assert (\"d50b81a30b0ee3b355ae0b5af973fa28518377822165c76b735404470aaf91553ef4a5cf43a3511f2fc0decfd14da1048e244ec1a94aac2fbde2ae87c2d95455\" == hex);\n```\n\n## Ref\n- Sha3 and Keccak implemention is inspired by https://github.com/mjosaarinen/tiny_sha3\n- hex encode is from https://github.com/aviate-labs/encoding.mo\n\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhanbu97%2Fmotoko-sha3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhanbu97%2Fmotoko-sha3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhanbu97%2Fmotoko-sha3/lists"}