|
Download README.md from Razio05/Python313-FastAPI-JWT-Passlib-Bcrypt-Fix: direct link, hf CLI and curl.
- Browser
- Download file 1.58 kB
-
https://huggingface.co/Razio05/Python313-FastAPI-JWT-Passlib-Bcrypt-Fix/resolve/main/README.md
- Command line
-
hf download hf://Razio05/Python313-FastAPI-JWT-Passlib-Bcrypt-Fix/README.md
-
curl -L -o README.md https://huggingface.co/Razio05/Python313-FastAPI-JWT-Passlib-Bcrypt-Fix/resolve/main/README.md
1.58 kB
| license: mit | |
| tags: | |
| - fastapi | |
| - python-3.13 | |
| - bcrypt | |
| - passlib | |
| - jwt-authentication | |
| # ๐ก๏ธ Fixing `ValueError: password cannot be longer than 72 bytes` in Python 3.12 / 3.13 (`passlib` + `bcrypt`) | |
| [](https://yahiaoui26.gumroad.com/l/fastapi-gemini-blueprint) | |
| [](https://yahiaoui26.gumroad.com/l/shipai-pro/BLUEPRINT30) | |
| When deploying **FastAPI** authentication routes using `passlib[bcrypt]` on **Python 3.12 or Python 3.13**, newer versions of `bcrypt` (`>= 4.1.0`) raise: | |
| ```text | |
| ValueError: password cannot be longer than 72 bytes, truncate manually if necessary | |
| ``` | |
| during `passlib`'s internal `detect_wrap_bug` startup check. | |
| ## โ The Instant Production Fix | |
| Pin `bcrypt==4.0.1` alongside `passlib[bcrypt]` in your `requirements.txt`: | |
| ```txt | |
| fastapi | |
| uvicorn | |
| passlib[bcrypt] | |
| bcrypt==4.0.1 | |
| python-jose[cryptography] | |
| pydantic[email] | |
| ``` | |
| --- | |
| ## ๐ Building a FastAPI + AI Micro-SaaS in 2026? | |
| Don't waste 30+ hours debugging Python 3.13 auth, JWT bearer guards, SaaS user credit quotas, and Google Gemini structured JSON outputs from scratch: | |
| * ๐ **[Download the Free 2026 FastAPI + Gemini Architecture Blueprint ($0)](https://yahiaoui26.gumroad.com/l/fastapi-gemini-blueprint)** | |
| * ๐ **[Get ShipAI v2.0 Commercial Micro-SaaS Boilerplate (30% OFF with code `BLUEPRINT30`)](https://yahiaoui26.gumroad.com/l/shipai-pro/BLUEPRINT30)** | |