Password Generator avatar
Password Generator

Pricing

from $0.50 / 1,000 results

Go to Apify Store
Password Generator

Password Generator

This password generator Actor is designed to provide individuals and organizations with robust authentication credentials tailored to their specific needs. By generating random passwords based on user-defined criteria, it ensures optimal security while adhering to various platform requirements.

Pricing

from $0.50 / 1,000 results

Rating

0.0

(0)

Developer

Arjun Thapa

Arjun Thapa

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

4 days ago

Last modified

Share

Secure Password Generator Actor

Generate cryptographically strong, policy-compliant passwords in bulk.

This Actor creates random passwords using a cryptographically secure PRNG and flexible policy options. It is designed for:

  • Cybersecurity professionals managing many client accounts
  • IT administrators provisioning user credentials
  • Developers needing strong test passwords
  • Small businesses & individuals securing critical accounts

You can customize length, character sets, bulk size, and also choose from predefined compliance profiles that mimic common enterprise, banking, and government-style requirements.


How it works

  • Uses Python's secrets module for cryptographically strong randomness
  • Supports lowercase, uppercase, digits, and symbols
  • Optionally enforces at least one character from each selected type
  • Supports bulk generation up to 1,000 passwords per run
  • Provides policy presets (compliance profiles) that safely override individual options

The Actor outputs:

  • A dataset where each item is { id, password }
  • A key-value store record OUTPUT with a summary and a sample of generated passwords

Input

The Actor uses the following input schema (also defined in actor.json):

  • length (integer, default 16, min 8, max 128):
    Length of each generated password.

  • count (integer, default 10, min 1, max 1000):
    Number of passwords to generate.

  • includeLowercase (boolean, default true):
    Whether to include a–z.

  • includeUppercase (boolean, default true):
    Whether to include A–Z.

  • includeDigits (boolean, default true):
    Whether to include 0–9.

  • includeSymbols (boolean, default true):
    Whether to include common ASCII symbols !@#$%^&*()-_=+[]{}:;,.?/|\.

  • requireEachSelectedType (boolean, default true):
    If enabled, each password will contain at least one character from each of the enabled character sets (lowercase, uppercase, digits, symbols).

  • complianceProfile (string, default "none"):
    Optional policy profile that may override some of the above options.

    Supported values:

    • "none" – No preset. Uses exactly the options above.
    • "strict" – At least 16 characters, all character types enabled, require at least one of each.
    • "enterprise" – At least 12 characters, all types enabled, require at least one of each.
    • "banking" – Between 12 and 20 characters, letters + digits + conservative symbols.
    • "government" – At least 16 characters, all types enabled, require at least one of each.

Note: If a compliance profile is selected, it takes precedence over conflicting input values (length, inclusion switches, and requireEachSelectedType).


Output

Dataset items

The Actor pushes one item per generated password to the default dataset:

{
"id": 1,
"password": "s0mE-V3rY$tr0ngP@ss!"
}

Key-value store (OUTPUT)

Additionally, the Actor stores a summary under the OUTPUT key:

{
"count": 50,
"options": {
"length": 20,
"includeLowercase": true,
"includeUppercase": true,
"includeDigits": true,
"includeSymbols": true,
"requireEachSelectedType": true,
"complianceProfile": "enterprise"
},
"sample": [
"N1x!f... (first password)",
"A2#y9... (second password)"
]
}

Usage on Apify platform

  1. Add the Actor to your Apify account from the Apify Store.
  2. Open the Input tab.
  3. Adjust:
    • Password length
    • Number of passwords (count)
    • Character sets (lowercase, uppercase, digits, symbols)
    • Optional compliance profile
  4. Click Run.
  5. After the run finishes:
    • Go to the Dataset tab to download all generated passwords (JSON, CSV, Excel, etc.).
    • Or check the Key-value store for the OUTPUT summary and sample.

Example configurations

  • Simple strong passwords for personal accounts

    • length: 16
    • count: 20
    • includeLowercase: true
    • includeUppercase: true
    • includeDigits: true
    • includeSymbols: true
    • complianceProfile: "none"
  • Enterprise onboarding batch

    • length: 20
    • count: 200
    • complianceProfile: "enterprise"
  • Banking-style credentials

    • count: 50
    • complianceProfile: "banking"
    • (Length and character sets will be auto-adjusted by the profile.)

Security notes & best practices

  • Always store passwords securely – e.g. password managers, encrypted vaults, or secure secrets management systems.
  • Rotate passwords regularly according to your organization's policies.
  • Never reuse passwords across critical systems.
  • When integrating into automated flows, ensure password transport and storage are encrypted.

Local development

This Actor is pure Python and uses only the standard library for password generation. The Apify SDK is optional and only needed when deploying to the Apify platform.

Running locally (without Apify SDK):

The code will automatically work without the Apify SDK installed - it includes a mock Actor class for local testing:

# Basic test
python3 test_local.py
# Run main script with input
export APIFY_INPUT='{"length":16,"count":5}'
python3 main.py
# Test different profiles
export APIFY_INPUT='{"count":3,"complianceProfile":"enterprise"}'
python3 main.py
export APIFY_INPUT='{"count":3,"complianceProfile":"banking"}'
python3 main.py

Running with Apify SDK (for platform deployment):

  1. Install dependencies:

    $pip install -r requirements.txt
  2. Run with Apify CLI:

    $APIFY_INPUT='{"length":16,"count":5}' apify run

Using as a library:

The PasswordGenerator class can be imported and used directly:

from main import PasswordGenerator
config = {
"length": 20,
"count": 10,
"complianceProfile": "enterprise"
}
generator = PasswordGenerator(config)
passwords = generator.generate_passwords(10)

License

MIT