random-password-toolkit


Namerandom-password-toolkit JSON
Version 1.0.0 PyPI version JSON
download
home_pagehttps://github.com/krishnatadi/random-password-toolkit-python
Summaryrandom-password-toolkit is a robust Python package for generating and managing random passwords with advanced features, including encryption, decryption, strength checking, and customizable generation options. This package is ideal for Python developers looking for a secure and feature-rich solution for handling password-related tasks.
upload_time2025-01-19 11:09:46
maintainerNone
docs_urlNone
authorkrishna Tadi
requires_python>=3.6
licenseMIT
keywords "color" "color conversion" "hex to rgb" "rgb to hex" "hex to hsl" "rgb to hsl" "hsl to rgb" "hsl to hex" "color parser" "random color" "web development" "design" "javascript" "css colors" "hex color" "rgb color" "hsl color" "colorcycle" "frontend tools" "color utilities" "color manipulation" "color names" "color library" "web design" "frontend development"
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            **# Random Password Toolkit**

> ****Random Password Toolkit**** is a robust Python package for generating and managing random passwords with advanced features, including encryption, decryption, strength checking, and customizable generation options. This package is ideal for Python developers looking for a secure and feature-rich solution for handling password-related tasks.

---

**## Features**

- ****Random Password Generation****: Generate strong and secure passwords.
- ****Generate Multiple Passwords****: Create multiple passwords in bulk.
- ****Pronounceable Passwords****: Generate passwords that are easier to read and pronounce.
- ****Custom Password Generation****: Create passwords using a custom pool of characters.
- ****Password Strength Checker****: Evaluate the strength of passwords with actionable feedback.
- ****Password Encryption****: Secure passwords with AES-256 encryption.
- ****Password Decryption****: Decrypt encrypted passwords safely.
- ****Customizable Options****: Fully customizable password generation settings.

---

**## Benefits**

- ****Security****: Generate highly secure passwords to protect sensitive data.
- ****Flexibility****: Customize password generation to suit any application.
- ****Ease of Use****: Simple and intuitive API.
- ****Compatibility****: Works seamlessly with Python projects.
- ****Encryption & Decryption****: Securely store and retrieve passwords.

---

**## Installation**

This package is available through the [PyPI registry](__https://pypi.org/project/random-password-toolkit/__).

Before installing, ensure you have Python 3.6 or higher installed. You can download and install Python from [python.org](__https://www.python.org/downloads/__).

You can install the package using `pip`:

```bash
pip install random-password-toolkit

```

---

**## Options**

The following options can be used with the password generation functions:

| Option                  | Type     | Description                                             | Default |
|-------------------------|----------|---------------------------------------------------------|---------|
| `length`                | Integer  | Length of the password.                                 | `10`    |
| `numbers`               | Boolean  | Include numbers in the password.                        | `false` |
| `symbols`               | Boolean  | Include symbols in the password.                        | `false` |
| `lowercase`             | Boolean  | Include lowercase letters.                              | `true`  |
| `uppercase`             | Boolean  | Include uppercase letters.                              | `true`  |
| `excludeSimilarCharacters` | Boolean  | Exclude similar characters (e.g., 'i', 'l').         | `false` |
| `exclude`               | String   | Characters to exclude from the password.                | `''`    |
| `strict`                | Boolean  | Enforce at least one character from each pool.          | `false` |



**## Usage**

**### Importing the Package**

```python
from random_password_toolkit import (
    generate,
    generate_multiple,
    generate_pronounceable_password,
    generate_with_custom_pool,
    check_password_strength,
    encrypt_password,
    decrypt_password
)
```

---

**### 1. Generate a Random Password**

Generate a single random password with customizable options:
```python

generate_password = generate(5);
console.log(generate_password);
# Output: yKsmtgtDsJ
```

```python
generate_password = generate(
  length=10, 
  numbers=True, 
  symbols=False, 
  lowercase=True, 
  uppercase=True, 
  exclude_similar_characters=False, 
  exclude='', 
  strict=False)
print("Generated password:", generate_password)
# Output: @D8cP#9Zr2&f
```

---

**### 2. Generate Multiple Passwords**

Generate multiple passwords at once:
```python
generate_multiple_password = generateMultiple(5);
console.log(generate_multiple_password);
# Output: ['g8sFwLp4Rx', 'pR2zT9qMf7', ...]
```

```python
generate_multiple_password = generate_multiple(5, {"length": 8, "numbers": True, "uppercase": True})
print("Multiple passwords:", generate_multiple_password)
# Output: ['Fi:G+D1oTU','jec*<KSP:3','Z@ie>^]n7Q','6&J4O12}e?','K$9J|xDv|Y']
```

---

**### 3. Generate Pronounceable Passwords**

Create passwords that are easier to pronounce:

```python
pronounceable_password = generate_pronounceable_password(length=12)
print("Pronounceable password:", pronounceable_password)
# Output: bolozuna
```

---

**### 4. Generate Password with Custom Pool**

Generate passwords using a specific set of characters:

```python
generate_with_custom_pool_password = generate_with_custom_pool(length=8, custom_pool="p@ss")
print("Custom pool password:", generate_with_custom_pool_password)
# Output: 2c1ea3fb
```

---

**### 5. Check Password Strength**

Evaluate the strength of a password:

```python
password_strength_checker = "MySecureP@ssword123!"
result = check_password_strength(password_strength_checker)
print(f"Password: {password_strength_checker}")
print(f"Stength: {result}")
print(f"Strength: {result['strength']}")
print(f"Score: {result['score']}")
    
# Output: Very Strong
```

---

**### 6. Encrypt a Password**

Securely encrypt a password:

```python
password = "MySecureP@ssword123!"
//  Encrypt the password
encrypted_data = encrypt_password(password)
print("Encrypted Password:", encrypted_data["encrypted_password"])
print("IV:", encrypted_data["iv"])
''' Output:
Encrypted Password: 7de8fc05ab01ed48605fa1983c830e98e13716f507b59bbf1203f7f1361ee497
IV: dc23c48d84eed6b07d89c479af6c5845 '''
```

---

**### 7. Decrypt a Password**

Decrypt an encrypted password:

```python
// Decrypt the password using the returned IV
decrypted_password = decrypt_password(encrypted_data["encrypted_password"], encrypted_data["iv"])
print("Decrypted Password:", decrypted_password)
# Output: MySecureP@ssword123!
```

---
**### 8. Test generating zero secrets**

Test generating zero secrets

```python
try:
    print(generate_multiple(0))
except ValueError as error:
    print(error) 
# output: 'Amount must be greater than 0.'

```

---

- **GitHub Discussions**: Share use cases, report bugs, and suggest features.

We'd love to hear from you and see how you're using **Random Password Toolkit** in your projects!


## Issues and Feedback
For issues, feedback, and feature requests, please open an issue on our [GitHub Issues page](http://github.com/krishnatadi/random-password-toolkit-python/issues). We actively monitor and respond to community feedback.



---

## License

This project is licensed under the MIT License. See the [LICENSE](https://github.com/Krishnatadi/random-password-toolkit-python/blob/main/LICENSE) file for details.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/krishnatadi/random-password-toolkit-python",
    "name": "random-password-toolkit",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": null,
    "keywords": "\"color\", \"color conversion\", \"hex to rgb\", \"rgb to hex\", \"hex to hsl\", \"rgb to hsl\", \"hsl to rgb\", \"hsl to hex\", \"color parser\", \"random color\", \"web development\", \"design\", \"javascript\", \"css colors\", \"hex color\", \"rgb color\", \"hsl color\", \"colorcycle\", \"frontend tools\", \"color utilities\", \"color manipulation\", \"color names\", \"color library\", \"web design\", \"frontend development\"",
    "author": "krishna Tadi",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/f6/ae/7d4864eb309c093f246b1731c1ca8521d887c106e6f14dd706079974202c/random-password-toolkit-1.0.0.tar.gz",
    "platform": null,
    "description": "**# Random Password Toolkit**\r\n\r\n> ****Random Password Toolkit**** is a robust Python package for generating and managing random passwords with advanced features, including encryption, decryption, strength checking, and customizable generation options. This package is ideal for Python developers looking for a secure and feature-rich solution for handling password-related tasks.\r\n\r\n---\r\n\r\n**## Features**\r\n\r\n- ****Random Password Generation****: Generate strong and secure passwords.\r\n- ****Generate Multiple Passwords****: Create multiple passwords in bulk.\r\n- ****Pronounceable Passwords****: Generate passwords that are easier to read and pronounce.\r\n- ****Custom Password Generation****: Create passwords using a custom pool of characters.\r\n- ****Password Strength Checker****: Evaluate the strength of passwords with actionable feedback.\r\n- ****Password Encryption****: Secure passwords with AES-256 encryption.\r\n- ****Password Decryption****: Decrypt encrypted passwords safely.\r\n- ****Customizable Options****: Fully customizable password generation settings.\r\n\r\n---\r\n\r\n**## Benefits**\r\n\r\n- ****Security****: Generate highly secure passwords to protect sensitive data.\r\n- ****Flexibility****: Customize password generation to suit any application.\r\n- ****Ease of Use****: Simple and intuitive API.\r\n- ****Compatibility****: Works seamlessly with Python projects.\r\n- ****Encryption & Decryption****: Securely store and retrieve passwords.\r\n\r\n---\r\n\r\n**## Installation**\r\n\r\nThis package is available through the [PyPI registry](__https://pypi.org/project/random-password-toolkit/__).\r\n\r\nBefore installing, ensure you have Python 3.6 or higher installed. You can download and install Python from [python.org](__https://www.python.org/downloads/__).\r\n\r\nYou can install the package using `pip`:\r\n\r\n```bash\r\npip install random-password-toolkit\r\n\r\n```\r\n\r\n---\r\n\r\n**## Options**\r\n\r\nThe following options can be used with the password generation functions:\r\n\r\n| Option                  | Type     | Description                                             | Default |\r\n|-------------------------|----------|---------------------------------------------------------|---------|\r\n| `length`                | Integer  | Length of the password.                                 | `10`    |\r\n| `numbers`               | Boolean  | Include numbers in the password.                        | `false` |\r\n| `symbols`               | Boolean  | Include symbols in the password.                        | `false` |\r\n| `lowercase`             | Boolean  | Include lowercase letters.                              | `true`  |\r\n| `uppercase`             | Boolean  | Include uppercase letters.                              | `true`  |\r\n| `excludeSimilarCharacters` | Boolean  | Exclude similar characters (e.g., 'i', 'l').         | `false` |\r\n| `exclude`               | String   | Characters to exclude from the password.                | `''`    |\r\n| `strict`                | Boolean  | Enforce at least one character from each pool.          | `false` |\r\n\r\n\r\n\r\n**## Usage**\r\n\r\n**### Importing the Package**\r\n\r\n```python\r\nfrom random_password_toolkit import (\r\n    generate,\r\n    generate_multiple,\r\n    generate_pronounceable_password,\r\n    generate_with_custom_pool,\r\n    check_password_strength,\r\n    encrypt_password,\r\n    decrypt_password\r\n)\r\n```\r\n\r\n---\r\n\r\n**### 1. Generate a Random Password**\r\n\r\nGenerate a single random password with customizable options:\r\n```python\r\n\r\ngenerate_password = generate(5);\r\nconsole.log(generate_password);\r\n# Output: yKsmtgtDsJ\r\n```\r\n\r\n```python\r\ngenerate_password = generate(\r\n  length=10, \r\n  numbers=True, \r\n  symbols=False, \r\n  lowercase=True, \r\n  uppercase=True, \r\n  exclude_similar_characters=False, \r\n  exclude='', \r\n  strict=False)\r\nprint(\"Generated password:\", generate_password)\r\n# Output: @D8cP#9Zr2&f\r\n```\r\n\r\n---\r\n\r\n**### 2. Generate Multiple Passwords**\r\n\r\nGenerate multiple passwords at once:\r\n```python\r\ngenerate_multiple_password = generateMultiple(5);\r\nconsole.log(generate_multiple_password);\r\n# Output: ['g8sFwLp4Rx', 'pR2zT9qMf7', ...]\r\n```\r\n\r\n```python\r\ngenerate_multiple_password = generate_multiple(5, {\"length\": 8, \"numbers\": True, \"uppercase\": True})\r\nprint(\"Multiple passwords:\", generate_multiple_password)\r\n# Output: ['Fi:G+D1oTU','jec*<KSP:3','Z@ie>^]n7Q','6&J4O12}e?','K$9J|xDv|Y']\r\n```\r\n\r\n---\r\n\r\n**### 3. Generate Pronounceable Passwords**\r\n\r\nCreate passwords that are easier to pronounce:\r\n\r\n```python\r\npronounceable_password = generate_pronounceable_password(length=12)\r\nprint(\"Pronounceable password:\", pronounceable_password)\r\n# Output: bolozuna\r\n```\r\n\r\n---\r\n\r\n**### 4. Generate Password with Custom Pool**\r\n\r\nGenerate passwords using a specific set of characters:\r\n\r\n```python\r\ngenerate_with_custom_pool_password = generate_with_custom_pool(length=8, custom_pool=\"p@ss\")\r\nprint(\"Custom pool password:\", generate_with_custom_pool_password)\r\n# Output: 2c1ea3fb\r\n```\r\n\r\n---\r\n\r\n**### 5. Check Password Strength**\r\n\r\nEvaluate the strength of a password:\r\n\r\n```python\r\npassword_strength_checker = \"MySecureP@ssword123!\"\r\nresult = check_password_strength(password_strength_checker)\r\nprint(f\"Password: {password_strength_checker}\")\r\nprint(f\"Stength: {result}\")\r\nprint(f\"Strength: {result['strength']}\")\r\nprint(f\"Score: {result['score']}\")\r\n    \r\n# Output: Very Strong\r\n```\r\n\r\n---\r\n\r\n**### 6. Encrypt a Password**\r\n\r\nSecurely encrypt a password:\r\n\r\n```python\r\npassword = \"MySecureP@ssword123!\"\r\n//  Encrypt the password\r\nencrypted_data = encrypt_password(password)\r\nprint(\"Encrypted Password:\", encrypted_data[\"encrypted_password\"])\r\nprint(\"IV:\", encrypted_data[\"iv\"])\r\n''' Output:\r\nEncrypted Password: 7de8fc05ab01ed48605fa1983c830e98e13716f507b59bbf1203f7f1361ee497\r\nIV: dc23c48d84eed6b07d89c479af6c5845 '''\r\n```\r\n\r\n---\r\n\r\n**### 7. Decrypt a Password**\r\n\r\nDecrypt an encrypted password:\r\n\r\n```python\r\n// Decrypt the password using the returned IV\r\ndecrypted_password = decrypt_password(encrypted_data[\"encrypted_password\"], encrypted_data[\"iv\"])\r\nprint(\"Decrypted Password:\", decrypted_password)\r\n# Output: MySecureP@ssword123!\r\n```\r\n\r\n---\r\n**### 8. Test generating zero secrets**\r\n\r\nTest generating zero secrets\r\n\r\n```python\r\ntry:\r\n    print(generate_multiple(0))\r\nexcept ValueError as error:\r\n    print(error) \r\n# output: 'Amount must be greater than 0.'\r\n\r\n```\r\n\r\n---\r\n\r\n- **GitHub Discussions**: Share use cases, report bugs, and suggest features.\r\n\r\nWe'd love to hear from you and see how you're using **Random Password Toolkit** in your projects!\r\n\r\n\r\n## Issues and Feedback\r\nFor issues, feedback, and feature requests, please open an issue on our [GitHub Issues page](http://github.com/krishnatadi/random-password-toolkit-python/issues). We actively monitor and respond to community feedback.\r\n\r\n\r\n\r\n---\r\n\r\n## License\r\n\r\nThis project is licensed under the MIT License. See the [LICENSE](https://github.com/Krishnatadi/random-password-toolkit-python/blob/main/LICENSE) file for details.\r\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "random-password-toolkit is a robust Python package for generating and managing random passwords with advanced features, including encryption, decryption, strength checking, and customizable generation options. This package is ideal for Python developers looking for a secure and feature-rich solution for handling password-related tasks.",
    "version": "1.0.0",
    "project_urls": {
        "Documentation": "https://github.com/krishnatadi/random-password-toolkit-python#readme",
        "Homepage": "https://github.com/krishnatadi/random-password-toolkit-python",
        "Issue Tracker": "https://github.com/krishnatadi/random-password-toolkit-python/issues",
        "Source": "https://github.com/krishnatadi/random-password-toolkit-python"
    },
    "split_keywords": [
        "\"color\"",
        " \"color conversion\"",
        " \"hex to rgb\"",
        " \"rgb to hex\"",
        " \"hex to hsl\"",
        " \"rgb to hsl\"",
        " \"hsl to rgb\"",
        " \"hsl to hex\"",
        " \"color parser\"",
        " \"random color\"",
        " \"web development\"",
        " \"design\"",
        " \"javascript\"",
        " \"css colors\"",
        " \"hex color\"",
        " \"rgb color\"",
        " \"hsl color\"",
        " \"colorcycle\"",
        " \"frontend tools\"",
        " \"color utilities\"",
        " \"color manipulation\"",
        " \"color names\"",
        " \"color library\"",
        " \"web design\"",
        " \"frontend development\""
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7605bafdada3bc7891034f7123028a418e1dd4ad877d74dbb18a9f6c80e0e23f",
                "md5": "0aa1f3078f447d82a59fd3006a6f444a",
                "sha256": "ba06c19019beb4793d327ca3dee67a2fafbefcba282b77f0ac8106451e80a072"
            },
            "downloads": -1,
            "filename": "random_password_toolkit-1.0.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "0aa1f3078f447d82a59fd3006a6f444a",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 7945,
            "upload_time": "2025-01-19T11:09:44",
            "upload_time_iso_8601": "2025-01-19T11:09:44.207423Z",
            "url": "https://files.pythonhosted.org/packages/76/05/bafdada3bc7891034f7123028a418e1dd4ad877d74dbb18a9f6c80e0e23f/random_password_toolkit-1.0.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "f6ae7d4864eb309c093f246b1731c1ca8521d887c106e6f14dd706079974202c",
                "md5": "39e9571decfea4fc1cc1ce75522f9a93",
                "sha256": "e4920d2af8fd4e55369246128dd5c7377b44f52d0d4aef81ec02939b103f5ce3"
            },
            "downloads": -1,
            "filename": "random-password-toolkit-1.0.0.tar.gz",
            "has_sig": false,
            "md5_digest": "39e9571decfea4fc1cc1ce75522f9a93",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 7866,
            "upload_time": "2025-01-19T11:09:46",
            "upload_time_iso_8601": "2025-01-19T11:09:46.148452Z",
            "url": "https://files.pythonhosted.org/packages/f6/ae/7d4864eb309c093f246b1731c1ca8521d887c106e6f14dd706079974202c/random-password-toolkit-1.0.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-19 11:09:46",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "krishnatadi",
    "github_project": "random-password-toolkit-python",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "random-password-toolkit"
}
        
Elapsed time: 0.95568s