Title: Update random and cryptography crates by joshuamegnauth54 · Pull Request #8010 · RustPython/RustPython · GitHub
Open Graph Title: Update random and cryptography crates by joshuamegnauth54 · Pull Request #8010 · RustPython/RustPython
X Title: Update random and cryptography crates by joshuamegnauth54 · Pull Request #8010 · RustPython/RustPython
Description: Redo of #7800. Bumping the random and crypto crates is not trivial. Both sets of crates have had API changes which require manual updates. AI use: I wrote all of the code myself but used AI to figure out the new APIs. AI explained SHAKE's block size and why the block_size() function doesn't exist in the new crate. I confirmed the block size, which is actually represented in the new types for SHAKE. Shake128 is actually Shake<168> - 168 is the block size. I cited Wikipedia as it lists the SHAKE block size in bits. I also used AI to figure out HMAC for SHA3. Assisted-by: Codex:gpt-5.4 Closes #xxxx This PR follows our AI policy Summary Bump all of the crypto and rand crates Add the shake crate. shake used to be part of the sha3 crate but the RustCrypto maintainers moved it to its own crate. Fun fact: Both the LLM and I were horribly confused at the HMAC issue. Summary by CodeRabbit Chores Updated multiple cryptography and randomness dependencies to newer releases; Dependabot grouping expanded for additional crypto libraries. Refactor Reworked HMAC and PBKDF2 handling for SHA‑3 to improve consistency. Switched default RNG seeding to use the updated random API. Bug Fixes Fixed SHAKE/XOF block-size reporting to use correct constants.
Open Graph Description: Redo of #7800. Bumping the random and crypto crates is not trivial. Both sets of crates have had API changes which require manual updates. AI use: I wrote all of the code myself but used AI to figu...
X Description: Redo of #7800. Bumping the random and crypto crates is not trivial. Both sets of crates have had API changes which require manual updates. AI use: I wrote all of the code myself but used AI to figu...
Opengraph URL: https://github.com/RustPython/RustPython/pull/8010
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:841a2d0b-cfdd-5b5d-359e-1d369a4965bf |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | A6AE:29F27:500451:6A6A4D:6A5FCC00 |
| html-safe-nonce | 414dabbbe5217177a811e777f4f64b7f3d94f82ec583c15679e2598a5b39873c |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBNkFFOjI5RjI3OjUwMDQ1MTo2QTZBNEQ6NkE1RkNDMDAiLCJ2aXNpdG9yX2lkIjoiMTYyNjAxMjgwMjU4NTk3MTcxMiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | b7c817a8472d5994ab7d3f198c0aacf8c70ea03ecfa771757bf350f877a65f85 |
| hovercard-subject-tag | pull_request:3784863155 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/RustPython/RustPython/pull/8010/files |
| twitter:image | https://avatars.githubusercontent.com/u/48846352?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/48846352?s=400&v=4 |
| og:image:alt | Redo of #7800. Bumping the random and crypto crates is not trivial. Both sets of crates have had API changes which require manual updates. AI use: I wrote all of the code myself but used AI to figu... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | 53a28a7799cbf673993ab89fc44869fea4c4a6545a861a4d1445e83e8d03aabd |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/RustPython/RustPython git https://github.com/RustPython/RustPython.git |
| octolytics-dimension-user_id | 39710557 |
| octolytics-dimension-user_login | RustPython |
| octolytics-dimension-repository_id | 135201145 |
| octolytics-dimension-repository_nwo | RustPython/RustPython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 135201145 |
| octolytics-dimension-repository_network_root_nwo | RustPython/RustPython |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | dc08399f879d576f0edbb8c52a0a1a30d498b203 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width