| Crates.io | passcheck |
| lib.rs | passcheck |
| version | 0.2.0 |
| created_at | 2025-08-04 18:09:37.487068+00 |
| updated_at | 2025-08-05 13:35:27.690423+00 |
| description | A flexible rule-base password validation library |
| homepage | |
| repository | https://github.com/ALIasgharBalochi/passcheck |
| max_upload_size | |
| id | 1781007 |
| size | 9,351 |
passcheck is a flexible and lightweight password validation crate for Rust.
It allows you to define custom rules for checking password strength and structure — use only what you need!
Option<&str>Add this to your Cargo.toml:
[dependencies]
passcheck = "0.2.0"
use passcheck::PasswordChecker;
fn main() {
let checker = PasswordChecker::new()
.min_length(8, None) // Use default error message with None OR use Some(str) for use custom message
.require_upper_lower(None)
.require_number(Some("Password must include at least one digit")) // Custom message
.require_special_char(None);
let password = "Ali@123";
match checker.validate(password) {
Ok(_) => println!("✅ Strong password!"),
Err(errors) => {
println!("❌ Invalid password:");
for err in errors {
println!(" - {}", err);
}
}
}
}
min_length(n, Option<&str>) → Requires password to be at least n characters
require_upper_lower(Option<&str>) → Requires at least one uppercase and one lowercase letter
require_number(Option<&str>) → Requires at least one digit
require_special_char(Option<&str>) → Requires at least one special character
💻 Author Made with ❤ + ☕ by Ali