Enforce input limits for Hashes
Maintainers usually reply within 2 days
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 42/100
- Issue type
- Feature
- Clarity
- Mostly clear
- Activity status
- Active
- Tech stack
- rust
- Domain
- cryptography
Research direction
Start by reading core::traits::Hash and the supported hash implementations in src/*.rs; look up each algorithm’s specified input limit. Check whether the one-shot and do_final() APIs can report limit errors, and whether do_update() needs the same pathway. Done means boundary tests show input below the limit succeeds and input exceeding it returns an error.
Written by the indexing model from the issue text.
Description
All hash functions (SHA2, SHA3, SM3, etc) have a specified input limit beyond which output can start repeating. Currently our core::traits::Hash trait does not have any way to return errors.
Task
- Look up the specified input limits for each supported hash function.
- Add an error pathway to at least the one-shot,
do_final()APIs, and maybe also thedo_update()APIs incore::traits::Hash. - Add unit tests (inside the src/*.rs file) that absorb some input, reach inside and set the counter to very close to the limit, absorb more input that does not exceed the limit (should pass), then absorb input that does exceed the limit (should throw error).
- Dominant language
- Rust
- Stars
- 25
- Forks
- 18
- Avg merge
- 14d 10h
- Merged PRs (30d)
- 5
Getting set up
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from bcgit/bc-rust
-
Improve docs in FactoriesPossibly taken @pollychen-lab claimed this 5 days ago. Opendocumentation good first issue help wanted
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
bcgit/bc-rust#161 · 1 reaction ·
Maintainers usually reply within 2 days
-
good first issue refactor
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 2 days
-
Difficulty 5/5 Over a week Newbie friendliness 25/100
bcgit/bc-rust#163 · 2 comments ·
Maintainers usually reply within 2 days
-
Difficulty 4/5 3-5 days Newbie friendliness 35/100
Maintainers usually reply within 2 days
-
documentation good first issue refactor
Difficulty 3/5 1-2 days Newbie friendliness 55/100
Maintainers usually reply within 2 days
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
Maintainers usually reply within 1 day
-
[Bug]: Bedrock request metadata forwarding does not work for /embeddingsPossibly taken A pull request linked to this issue is open or already merged. Openbug llm translation
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Maintainers usually reply within 1 day
-
skillfs: one malformed chat-log line aborts the entire skill-usage analysis (skill_usage_from_chat_logs.py)Possibly taken @zjncs claimed this today. Opencomponent:skillfs
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
agentic-os-org/ANOLISA#6116 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
indygreg/cryptography-rs#99 ·