Password Security Tools —
Deep-Dive Tutorials
Master every tool on createpassword.in. From first use to expert-level configuration, these guides walk you through each feature in clear Beginner, Intermediate, and Advanced levels — so anyone can understand and apply them immediately.
Password Generator
Password ToolsInstantly create strong, random passwords customized to any length and character requirement.
What Is a Password Generator?
A password generator is a tool that automatically creates a random combination of characters — letters, numbers, and symbols — to form a strong password. Instead of choosing a password like john1990 that a hacker can guess in seconds, the generator produces something like T7#mXq2@wPsL that would take millions of years to crack.
Human-chosen passwords are almost always predictable. We gravitate toward names, dates, and common words because they are easy to remember. Attackers know this, which is why over 80% of hacking-related breaches involve weak or stolen passwords.
How to Use the Password Generator (Step by Step)
Navigate to the tool
Choose your password length
Select character types
Click Generate
Copy and use
Beginner Tip
Key Takeaways — Beginner
- Never reuse passwords across different sites.
- Length matters more than complexity — 16 characters beats 8 complex ones.
- Use a password manager (Bitwarden, 1Password) to store generated passwords.
- Generated passwords stay in your browser — nothing is sent to any server.
Understanding Character Pools
The "character pool" is the total number of unique characters available when building your password. The larger the pool, the more possible combinations exist, and the harder it is to crack by brute force.
| Character Set | Pool Size | Example Characters |
|---|---|---|
| Lowercase only | 26 | a b c … z |
| + Uppercase | 52 | a–z A–Z |
| + Numbers | 62 | a–z A–Z 0–9 |
| + Symbols | 94 | a–z A–Z 0–9 !@#$%… |
Customizing Your Password
Our generator gives you precise control:
- Exclude ambiguous characters — avoids look-alike characters like
0(zero) andO(letter O), or1andl. Useful when typing passwords manually. - Exclude specific characters — some systems reject certain symbols. You can remove
<>or spaces if they cause errors. - Require at least one of each type — ensures the final password isn't accidentally missing a digit or symbol.
Password Length by Use Case
| Use Case | Recommended Length | Why |
|---|---|---|
| Social media | 14–16 chars | Low-risk but breaches happen |
| Email accounts | 18–20 chars | Account recovery vector for everything |
| Banking / Finance | 20–24 chars | High-value target |
| Master password | 24–32 chars | Protects all other passwords |
| System/admin | 32+ chars | Often machine-stored, never typed |
Intermediate Tip
Key Takeaways — Intermediate
- Each additional character type multiplies the possible combinations exponentially.
- Excluding ambiguous characters slightly reduces the pool but improves usability for manually typed passwords.
- Tailor length to risk level — higher-value accounts deserve longer passwords.
Entropy: The Science Behind Password Strength
Password entropy is measured in bits and calculated as: H = L × log₂(N), where L is password length and N is the pool size.
| Length | Pool 94 | Entropy (bits) | Crack time (100B guesses/sec) |
|---|---|---|---|
| 8 | 94 | 52.4 bits | ~13 minutes |
| 12 | 94 | 78.6 bits | ~27 years |
| 16 | 94 | 104.9 bits | ~2.5 billion years |
| 20 | 94 | 131.1 bits | Astronomically long |
Cryptographic Randomness vs. Pseudo-Randomness
Our tool uses window.crypto.getRandomValues() — a Cryptographically Secure Pseudo-Random Number Generator (CSPRNG) built into every modern browser. This is the same entropy source used in TLS/SSL certificate generation. It seeds from OS-level hardware entropy (interrupt timing, CPU jitter, etc.), making it statistically indistinguishable from true randomness.
By contrast, Math.random() in JavaScript is a PRNG (Mersenne Twister variant) — fast but not cryptographically secure, and its state can sometimes be inferred from its output.
Security Best Practices — Advanced
- Zero-knowledge by design — All generation happens client-side. No password ever leaves your browser.
- Memory hygiene — After copying, clear your clipboard after 30 seconds (most password managers do this automatically).
- Avoid browser password saving — Browser-saved passwords are encrypted with your OS account key, which may be weaker than a dedicated password manager's KDF.
- Argon2/bcrypt on the server side — A secure generated password only helps if the site stores it properly. Advocate for services that use modern KDFs.
- Rotate high-risk credentials — Even a perfect password should be rotated every 6–12 months on critical accounts.
Advanced Insight
Passphrase Generator
Password ToolsGenerate memorable, high-entropy passphrases using random words — easier to type, harder to crack.
What Is a Passphrase?
A passphrase is a sequence of random words strung together, such as correct horse battery staple. Unlike a traditional password, a passphrase is long (often 25–40 characters) but uses actual words, making it surprisingly memorable while remaining astronomically difficult to brute-force.
The key insight: length dominates entropy. Four random words give you more security than a typical 10-character complex password, while being far easier to remember and type.
Why Passphrases Beat Complex Passwords
- You can memorize
purple tiger mountain cloudeffortlessly. You cannot memorizeT7#mXq2@wPwithout writing it down. - Passphrases are great for master passwords, disk encryption, and SSH keys — situations where you must type from memory.
- A 5-word passphrase from a 7,776-word list (standard Diceware) has about 64 bits of entropy.
How to Use the Passphrase Generator
Go to the tool
Set word count
Choose a separator
-), underscore (_), space, number, or nothing. Hyphens are safe and readable.Generate and review
Create a mental story
Beginner Tip
Word Lists and Diceware
The security of a passphrase depends entirely on the randomness of word selection and the size of the word list. Our generator uses the EFF Large Wordlist — 7,776 words carefully curated to be unambiguous, pronounceable, and from a wide range of semantic categories.
| Word Count | Entropy (EFF list) | Equivalent to… |
|---|---|---|
| 3 words | 38.7 bits | ~6-char complex password |
| 4 words | 51.6 bits | ~8-char complex password |
| 5 words | 64.6 bits | ~10-char complex password |
| 6 words | 77.5 bits | ~12-char complex password |
| 7 words | 90.4 bits | ~14-char complex password |
Separator Strategies
Separators add extra entropy and satisfy "special character" requirements on many websites:
- Symbols (
-,_,.) — Readable, widely accepted - Numbers (
7,3) — Adds numeric requirement compliance - CamelCase — Capitalize first letter of each word instead of using a separator:
PurpleTigerMountainCloud - Mixed — Vary separators between words for extra entropy:
purple-Tiger7mountain_Cloud
Intermediate Tip
The Math of Passphrase Entropy
For a word list of size W and N words, entropy is: H = N × log₂(W). For the EFF 7,776-word list: log₂(7776) ≈ 12.92 bits per word. Five words = 64.6 bits.
Compare this to a random character password: to achieve 64.6 bits with a 94-character pool, you need only ~10 characters. But here is the catch — humans choosing 10 "random" characters almost never achieve true randomness. Studies show human-generated passwords have effective entropy of 1–3 bits per character, not the theoretical 6.5.
Passphrase Memory Techniques
- The Method of Loci (Memory Palace) — Imagine placing each word as a physical object in a familiar location (your house, street, workplace).
- Narrative linking — Build a micro-story: "A purple tiger climbed a mountain of clouds."
- Spaced repetition — Type your passphrase from memory at login. The repetition naturally cements it in long-term memory within a week.
Security Advantages Over Passwords
- Dictionary attack resistance — Attackers must brute-force word combinations, not individual characters. 7776^5 ≈ 28 quadrillion combinations for 5 words.
- No write-down risk — Because passphrases are memorable, you are less likely to write them on a sticky note.
- Typo resistance — Whole words are easier to type accurately than random character strings.
- Social engineering resistance — Random words have no personal meaning, so they cannot be guessed from your social media profile.
Advanced Insight
Bulk Password Generator
Password ToolsGenerate hundreds of unique, secure passwords at once — perfect for enterprise deployments and batch provisioning.
What Is Bulk Password Generation?
The Bulk Password Generator creates many unique passwords at one time. Instead of clicking "Generate" ten times for ten new user accounts, you can produce 100 (or 1000) secure passwords instantly, then copy or download the entire list.
Common use cases: setting up new employee accounts, provisioning IoT devices, seeding a test database, or creating one-time-use codes for a system reset workflow.
How to Use the Bulk Generator
Open the tool
Set quantity
Configure password settings
Generate
Export
Beginner Tip
Batch Configuration Options
Every password in a batch is independently generated — no two are the same. Each uses a fresh crypto.getRandomValues() call, guaranteeing statistical independence.
| Setting | Effect | Recommendation |
|---|---|---|
| Quantity | Number of passwords output | Match your exact provisioning need |
| Length | Characters per password | 16+ for user accounts, 32+ for API tokens |
| Character sets | Pool used for generation | All four for max security |
| No duplicates | Ensures uniqueness | Always enable for provisioning |
| Prefix/Suffix | Tags passwords for system routing | e.g. "USR_" prefix for user batches |
Export Formats and Their Uses
- Plain text (.txt), one per line — easiest to import into scripts or spreadsheets with a simple
readlines()call. - CSV format — import directly into user provisioning tools (Active Directory, Okta CSV import).
- Clipboard copy — for small batches pasted into forms or scripts manually.
Security Warning
Bulk Password Management in Enterprise Workflows
Bulk generation is only step one. A secure enterprise workflow includes:
- Immediate forced-change policy — Generated passwords should be one-time-use. Force users to change on first login via your IdP's must change password flag.
- Encrypted transmission — Never email plaintext passwords. Use encrypted channels (Signal, Bitwarden Send, HashiCorp Vault) or a temporary self-destructing link.
- Audit logging — Record which password was assigned to which account at what time. This supports incident response if a credential is compromised.
- Lifecycle management — Set automatic expiry on provisioned credentials. Short-lived passwords (7–30 days) reduce the blast radius of a breach.
Scripting Integration
For developers, bulk-generated passwords can feed directly into automation pipelines:
Advanced Insight
Password Strength Checker
Security ToolsAnalyze any password's entropy, character distribution, and real-world cracking resistance in real time.
What Does Password Strength Mean?
Password strength is a measure of how resistant your password is to being guessed or cracked. The tool evaluates your password on multiple factors and returns a score from Very Weak to Very Strong, along with specific suggestions for improvement.
How to Check Your Password
Open the Strength Checker
Type or paste your password
Read the score and feedback
Iterate
Beginner Tip
What the Tool Analyzes
- Length — The single most important factor. Each character multiplies the cracking difficulty.
- Character diversity — Whether the password uses lowercase, uppercase, digits, and symbols.
- Repetition patterns — Repeated characters (
aaa) and sequences (abc,123) reduce effective entropy. - Dictionary words — Common words, names, and keyboard patterns (like
qwerty) are heavily penalized. - Estimated crack time — Based on a modern GPU cluster running 100 billion guesses per second.
Strength Score Breakdown
| Score | Entropy Range | Crack Time | Use For |
|---|---|---|---|
| Very Weak | < 28 bits | Seconds | Never use |
| Weak | 28–35 bits | Minutes to hours | Never use |
| Fair | 36–59 bits | Days to months | Low-risk only |
| Strong | 60–79 bits | Years to centuries | Most accounts |
| Very Strong | 80+ bits | Geological time | Critical accounts |
Entropy Calculation in Depth
The checker computes Shannon entropy and estimates crack time using the formula: Combinations = Pool^Length. With a 94-character pool and a 16-character password: 94^16 ≈ 3.7 × 10^31. At 10^11 guesses/second, that's over 10^12 years.
However, real-world attackers don't brute-force character by character. They use:
- Hashcat rule sets — Automated substitutions (a→@, e→3, s→$) that capture "clever" obfuscation.
- Markov chain models — Statistical models trained on billions of leaked passwords to predict likely character sequences.
- Hybrid attacks — Dictionary word + number + symbol combinations that capture the vast majority of user-chosen passwords.
The strength checker accounts for these attack vectors by penalizing predictable patterns even when raw entropy appears high.
Advanced Insight
Password123! scores high on character diversity but low on unpredictability). Use the checker's pattern detection warnings as seriously as the entropy score.Data Breach Checker
Security ToolsInstantly check if your email address appears in any known data breach database.
What Is a Data Breach?
A data breach occurs when attackers gain unauthorized access to a company's database containing user credentials. The stolen data — including email addresses, usernames, and (sometimes) hashed or plaintext passwords — is often posted online or sold on dark web markets. Once your email is in a breach, attackers will attempt to use that credential on other sites (called credential stuffing).
How to Check Your Email
Open the tool
Enter your email address
Review the results
Take action
Immediate Action Required
How Breach Databases Work
Our tool uses the HaveIBeenPwned API — the industry-standard breach aggregation service maintained by security researcher Troy Hunt. The database contains over 12 billion breached accounts from 800+ sites. Email lookup uses a k-Anonymity model: your email is hashed with SHA-1, only the first 5 characters of that hash are sent to the API, and the full matching is done locally. Your actual email is never transmitted.
Interpreting Breach Results
| Data Type Exposed | Risk Level | Action |
|---|---|---|
| Email address only | Low | Monitor for phishing |
| Username + email | Medium | Change passwords where username matches |
| Hashed passwords | High | Change password immediately |
| Plaintext passwords | Critical | Change immediately, check all reused passwords |
| Phone, DOB, SSN | Critical | Consider credit freeze, identity monitoring |
Breach Response Strategy
A methodical breach response follows these phases:
- Identification — Run all your email addresses through the checker. Identify every breach and what data was exposed in each.
- Containment — Change passwords on the breached site and every site where you reused that password. Enable 2FA on all affected accounts.
- Eradication — Move from password reuse to a password manager with unique passwords for every site. This eliminates the credential stuffing risk permanently.
- Recovery — For personal data breaches (SSN, financial info), file reports with FTC IdentityTheft.gov, place a fraud alert with credit bureaus, and monitor for unauthorized accounts.
- Lessons learned — Conduct an audit of all your accounts. Prioritize high-value accounts (email, banking, social) with the strongest generated passwords and hardware 2FA (YubiKey).
Advanced Insight
UUID Generator
GeneratorsGenerate v1, v4, and v5 Universally Unique Identifiers for databases, APIs, and distributed systems.
What Is a UUID?
A UUID (Universally Unique Identifier) is a 128-bit value formatted as a 32-character hexadecimal string split into five groups: 550e8400-e29b-41d4-a716-446655440000. UUIDs are designed to be unique across space and time — you can generate billions of them without collision, even across different machines with no coordination.
They are used everywhere: database primary keys, transaction IDs, session tokens, file names, API response identifiers, and more.
Basic Usage
Open the tool
Select UUID version
Set quantity
Generate and copy
UUID Versions Compared
| Version | Generation Method | Use Case |
|---|---|---|
| v1 | Timestamp + MAC address | When time-ordering is needed; exposes machine info |
| v4 | Cryptographically random | General purpose; most common choice |
| v5 | SHA-1 hash of namespace + name | Deterministic IDs (same input → same UUID always) |
Format and Casing Options
- Standard (lowercase) —
550e8400-e29b-41d4-a716-446655440000— the default RFC 4122 format. - Uppercase — Some legacy systems require uppercase hex.
- No hyphens —
550e8400e29b41d4a716446655440000— 32 contiguous hex chars, useful for compact storage. - Braces —
{550e8400-e29b-41d4-a716-446655440000}— required by some Windows/COM APIs.
UUID Collision Probability
A UUID v4 has 122 bits of randomness (6 bits are fixed for version/variant). The probability of generating a duplicate among n UUIDs is approximately: P ≈ n² / (2 × 2^122). To have even a 1-in-a-billion chance of collision, you would need to generate roughly 2.6 × 10^18 UUIDs — about 100 UUIDs per person currently alive, every second, for 100 years.
Database Considerations
- v4 in PostgreSQL — Use the
uuidcolumn type; indexed efficiently with B-tree. - v4 in MySQL — Store as
CHAR(36)orBINARY(16). The binary form is 2× more storage-efficient and faster to index. - Sequential UUIDs (UUIDv7) — For high-insert-rate tables, UUIDv7 (time-ordered) reduces B-tree fragmentation significantly compared to v4. Use our generator's v1 or consider UUIDv7 libraries in production.
Advanced Insight
API Key Generator
GeneratorsCreate cryptographically secure API keys and authentication tokens in multiple formats.
What Is an API Key?
An API key is a long random string that identifies and authenticates a client making requests to an API. Instead of using a username and password, a client application includes its API key in every request header, and the server verifies the key before processing the request.
Think of it as a digital keycard: the server has a list of valid keys and who they belong to. If your request includes a valid key, you are allowed in.
Basic Usage
Open the tool
Choose your format
Set key length
Generate and secure
Key Formats and When to Use Each
| Format | Characters | Length for 256-bit | Best For |
|---|---|---|---|
| Hex | 0-9, a-f | 64 characters | Internal APIs, headers |
| Base64 | A-Z, a-z, 0-9, +/ | 44 characters | Compact keys, JWT secrets |
| Base64 URL-safe | A-Z, a-z, 0-9, -, _ | 44 characters | URL parameters, cookies |
| Alphanumeric | A-Z, a-z, 0-9 | 54 characters | Keys typed by humans |
Prefixing Your API Keys
Add a short prefix to your keys to make them identifiable and scannable by secret detection tools:
sk_live_...— Stripe-style secret key (live environment)pk_test_...— Public key, test environmentghp_...— GitHub Personal Access Token style
Prefixed keys are automatically caught by GitHub's secret scanning, GitGuardian, and AWS credential detection — preventing accidental exposure in repositories.
API Key Rotation Strategy
Static API keys are a security liability. Implement a rotation strategy:
- Regular rotation — Rotate keys every 90 days for internal services, 30 days for customer-facing keys.
- Emergency rotation — Rotate immediately if a key is accidentally exposed (Git commit, log file, screenshot).
- Parallel keys — When rotating, keep the old key valid for 24 hours while clients migrate to the new key. Then invalidate the old key.
- Scoped keys — Issue different keys for different permissions (read-only, write, admin). A compromised read-only key cannot delete data.
Secure Storage
- Never hardcode API keys in source code. Use environment variables (
.envfiles, never committed to Git). - Use secrets managers: HashiCorp Vault, AWS Secrets Manager, Azure Key Vault, Doppler.
- Audit key usage: log every API call with the key's identifier (not the key itself) so you can detect anomalous access patterns.
Advanced Insight
QR Code Generator
GeneratorsCreate customizable, high-resolution QR codes for URLs, text, Wi-Fi credentials, and more — with PNG, SVG, and PDF export.
What Is a QR Code?
A QR (Quick Response) code is a two-dimensional barcode that encodes data (text, URLs, contact info, Wi-Fi credentials) as a pattern of black and white squares. Any smartphone camera can decode it instantly, redirecting the user to a URL or displaying the encoded text.
Creating Your First QR Code
Open the tool
Enter your content
Choose your format
Download
Customization Options
| Option | Description | Recommendation |
|---|---|---|
| Size | Pixel dimensions of the exported image | 512px+ for print; 256px for screen |
| Foreground color | Color of the dark squares | High contrast with background |
| Background color | Color of the light squares | White or very light for best scan reliability |
| Error correction | L/M/Q/H — how much damage is tolerated | H (30%) for logo overlays; L (7%) for dense data |
| Margin (quiet zone) | Whitespace around the code | Keep at least 4 module widths |
QR Code Content Formats
- URL —
https://example.com— the most common use case. - Wi-Fi —
WIFI:S:NetworkName;T:WPA;P:Password;;— lets guests join Wi-Fi by scanning. - vCard — Encodes contact information (name, phone, email) for one-scan contact saving.
- Email —
mailto:contact@example.com?subject=Hello— pre-fills an email. - Plain text — For codes, coupons, or any text you want to share without a link.
QR Code Capacity and Data Density
| Error Correction | Max Characters (numeric) | Max Characters (alphanumeric) | Max Bytes (binary) |
|---|---|---|---|
| L (7%) | 7089 | 4296 | 2953 |
| M (15%) | 5596 | 3391 | 2331 |
| Q (25%) | 3993 | 2420 | 1663 |
| H (30%) | 3057 | 1852 | 1273 |
Security Considerations for QR Codes
- QRLjacking / QR phishing — Attackers replace legitimate QR codes with malicious ones. Always verify the destination URL before visiting an unknown QR code.
- URL shorteners — Avoid encoding shortened URLs (bit.ly, tinyurl) in QR codes. Scan recipients cannot preview the destination, making it a social engineering vector.
- Wi-Fi QR codes — Treat Wi-Fi QR codes like you would a printed password. Do not post them in public spaces where strangers can scan them.
- Dynamic vs. static QR codes — Static QR codes encode the URL directly (our tool). Dynamic QR codes redirect through a tracking server. For privacy, prefer static codes for personal use.
Advanced Insight
Hash Generator
Hashing ToolsCalculate MD5, SHA-1, SHA-256, SHA-512, and bcrypt hashes for any text input.
What Is Hashing?
Hashing is a one-way transformation that converts any input (text, file, password) into a fixed-length string of characters called a hash or digest. The key properties are:
- Deterministic — The same input always produces the same hash.
- One-way — You cannot reverse a hash back to the original input.
- Avalanche effect — Changing even one character in the input completely changes the hash.
This is why websites store hashed passwords, not plaintext passwords. Even if an attacker steals the database, they get hashes, not passwords.
Basic Usage
Open the tool
Type or paste input
Choose your algorithm
Copy the hash
Algorithm Comparison
| Algorithm | Output Length | Speed | Security Status | Use For |
|---|---|---|---|---|
| MD5 | 128 bits / 32 hex | Very fast | Broken (collisions) | Non-security checksums only |
| SHA-1 | 160 bits / 40 hex | Fast | Deprecated | Legacy system compatibility |
| SHA-256 | 256 bits / 64 hex | Fast | Secure | Data integrity, digital signatures |
| SHA-512 | 512 bits / 128 hex | Fast | Secure | High-security checksums |
| bcrypt | Variable | Intentionally slow | Secure | Password storage |
Salting
A salt is random data added to a password before hashing. Without salts, two users with the same password get the same hash, enabling attackers to crack multiple accounts with one rainbow table lookup. With unique salts, identical passwords produce different hashes. bcrypt handles salting automatically — our tool generates a random salt for every bcrypt hash.
Hash Collision Resistance
A collision occurs when two different inputs produce the same hash. MD5 was shown to have practical collisions in 2004 (Xiaoyun Wang et al.). SHA-1 was practically broken in 2017 (Google's SHAttered attack — two different PDF files with identical SHA-1 hashes). SHA-256 and SHA-512 have no known practical collisions and remain secure against classical computing.
Password Hashing vs. General Hashing
For password storage, use a purpose-built password hashing function, not a general hash:
- bcrypt — Cost factor adjusts computational expense. Recommended cost factor: 12 (2024).
- Argon2id — Winner of the Password Hashing Competition (2015). Memory-hard, GPU-resistant. OWASP's top recommendation.
- scrypt — Memory-hard alternative; widely supported.
- PBKDF2 — NIST-approved, less memory-hard but compliant with FIPS 140-2.
SHA-256 is the right choice for checksums, digital signatures, and data integrity — not for password storage. Our Hash Generator is a development and verification tool; production password storage should use bcrypt or Argon2id via your language's standard library.
Advanced Insight
Text Encoders
Hashing ToolsEncode and decode Base64, URL encoding, and Hex — essential tools for web development and data handling.
What Is Encoding?
Encoding converts data from one format to another for safe transport or storage. Unlike encryption, encoding is completely reversible and does not require a key — anyone can decode it. Its purpose is compatibility and safe transmission, not secrecy.
The most common use: web browsers and servers use URL encoding to safely include special characters in URLs, and Base64 encoding to transmit binary data (like images) as text.
Basic Usage
Open the tool
Select encoding type
Enter your text
Switch between encode and decode
Important Distinction
The Three Encoding Types
| Encoding | Characters Used | Size Overhead | Primary Use |
|---|---|---|---|
| Base64 | A-Z, a-z, 0-9, +, /, = | ~33% larger | Binary data in text contexts (JWT, email attachments, data URIs) |
| URL Encoding | %XX percent-encoding | Varies | Special characters in URLs and query strings |
| Hex | 0-9, a-f | 2× larger | Binary data display, hash representations, color codes |
When Each Encoding Is Used
- Base64 — JWT tokens are base64-encoded JSON. Email attachments use MIME base64. Data URIs in HTML (
data:image/png;base64,...) embed images directly in HTML/CSS. - URL encoding — Query parameters with spaces, ampersands, or equals signs must be percent-encoded. A space becomes
%20, an ampersand becomes%26. - Hex encoding — Cryptographic outputs (hashes, keys) are displayed as hex strings. Color codes (
#1e293b) are hex representations of RGB values.
Encoding in Security Contexts
Encoding plays a critical role in preventing injection attacks when used correctly:
- HTML entity encoding — Encodes
<,>,&as<,>,&. Prevents Cross-Site Scripting (XSS) by ensuring user input is rendered as text, not executed as HTML. - URL encoding in SQL contexts — Properly URL-encoding user input before incorporating it into dynamic URLs prevents open redirect vulnerabilities.
- Base64 URL-safe variant — Standard base64 uses
+and/which have meaning in URLs. JWT uses base64url (replaces+→-,/→_, removes=padding) for safe URL transport.
Double Encoding Attacks
A known attack vector: an attacker submits double-encoded input (%2520 — a percent-encoded %25 followed by 20) hoping the application decodes it twice, the second time revealing a malicious %20 (space) or other character. Secure applications decode exactly once, at a defined stage in the request pipeline.
Advanced Insight
PDF Password Protector
Security ToolsLock PDF documents with AES-256 encryption entirely in your browser - no uploads, no servers, no data leaving your device.
What Is the PDF Password Protector?
The PDF Password Protector is a local encryption tool that locks your PDF files using AES-256, the same Advanced Encryption Standard used by banks and governments. Unlike online PDF lockers, it runs entirely inside your browser tab - your document is never uploaded to any server.
How to Encrypt a PDF (Step by Step)
Open the tool
Select your PDF
Enter a secure password
Click Encrypt & Download PDF
.pdf.enc file instantly.Store the password safely
Beginner Tip
How the Encryption Works
The tool derives a 256-bit key from your password using PBKDF2 with SHA-256 and 250,000 iterations, then encrypts the file with AES-256-GCM. A random salt and initialization vector are generated for every encryption, so identical files encrypted twice produce completely different outputs.
| Component | Purpose | Size |
|---|---|---|
| Salt | Makes each encryption unique | 16 bytes |
| IV (Initialization Vector) | Ensures ciphertext uniqueness | 12 bytes |
| AES-256 key | Locks and unlocks the file | 256 bits |
| Auth tag (GCM) | Detects any tampering | 16 bytes |
Intermediate Tip
Why AES-256-GCM and PBKDF2?
AES-256 offers a key space of roughly 1.15 × 1077 combinations - computationally infeasible to brute-force with any foreseeable technology. GCM adds authenticated encryption, producing a tag that reveals any bit-level tampering on decryption. PBKDF2 with 250,000 iterations deliberately slows password guessing, so an attacker who obtains your .pdf.enc file still faces an expensive key-derivation cost per guess.
Security Best Practices
- Use a high-entropy password - 16+ random characters or a 5-word passphrase. AES-256 cannot compensate for a weak password.
- Share the password through a separate channel - never email it alongside the encrypted file.
- Distribute via secure transfer - encrypted files can safely travel over email or cloud storage because the contents are unreadable without the key.
Advanced Insight
You Are Now Fully Equipped
You have covered every tool from first use to advanced professional workflows. Apply these principles: generate strong, unique passwords for every account, check your email for breaches, and use the appropriate tool for each security task. Digital security is not a one-time task — it is a habit.