enpass


Nameenpass JSON
Version 0.1.2 PyPI version JSON
download
home_pagehttps://github.com/Aresshu/enpass
SummarySimple entropy password validator.
upload_time2024-05-07 22:31:13
maintainerNone
docs_urlNone
authorAndres Ordonez
requires_pythonNone
licenseMIT
keywords entropy password validator strength
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ![Enpass](https://raw.githubusercontent.com/Aresshu/enpass/main/data/logo.png "Enpass")

### Enpass is a simple password entropy strength validator
This project can be used to validate a password strength. Designed to be lightweight with the following benefits:
* No external API calls
* No large data sets
* Focused entirely on raw entropy values
* More flexible (doesn't require uppercase, numbers, special characters)


## Installation
```bash
pip install enpass
```
## Quick Start
`calc_entropy` calculates the entropy of a password in bits.
    
Entropy equation = log2(B^L) 
`B = Base; L = Length`
```python
    import enpass as ep

    password = 'P@SSW0RD!'

    #Calculates the entropy of a password in bits.
    entropy = ep.calc_entopy(password)
```
`validate` checks if the password's entropy meets the specified minimum requirement.

Passwords should ideally be > 60.
Great Passwords should be between 70-90.
```python
    min_entropy = 60.0
    # Checks if the password's entropy meets the specified minimum requirement.
    validate = ep.validate(entropy, min_entropy)
```
`estimate_bruteforce_time` assumes that cracking time scales linearly with the number of possible combinations.

While this might hold for straightforward brute-force attacks, more sophisticated attacks,
such as dictionary attacks or those exploiting weaknesses in password hashing algorithms, may have different time complexities.
```python
    guesses_per_second = 100_000_000
    # Estimates the amount of time required to brute-force a password 
    time_brute_estimate = ep.estimate_bruteforce_time(entropy, guesses_per_second)
```
## Roadmap
- [x] Entropy Calculator
- [x] Brute-Force Estimate
- [ ] Scoring
- [ ] Feedback
- [ ] Throttling/Hashing Brute-Force Estimate
- [ ] Character Sequences

## Contributing
Contributions are welcome!


            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/Aresshu/enpass",
    "name": "enpass",
    "maintainer": null,
    "docs_url": null,
    "requires_python": null,
    "maintainer_email": null,
    "keywords": "entropy password validator strength",
    "author": "Andres Ordonez",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/bf/73/862489d482fd32f245d4adfc50208b874dc8c3286ad02a56b8d4b3b548b8/enpass-0.1.2.tar.gz",
    "platform": null,
    "description": "![Enpass](https://raw.githubusercontent.com/Aresshu/enpass/main/data/logo.png \"Enpass\")\n\n### Enpass is a simple password entropy strength validator\nThis project can be used to validate a password strength. Designed to be lightweight with the following benefits:\n* No external API calls\n* No large data sets\n* Focused entirely on raw entropy values\n* More flexible (doesn't require uppercase, numbers, special characters)\n\n\n## Installation\n```bash\npip install enpass\n```\n## Quick Start\n`calc_entropy` calculates the entropy of a password in bits.\n    \nEntropy equation = log2(B^L) \n`B = Base; L = Length`\n```python\n    import enpass as ep\n\n    password = 'P@SSW0RD!'\n\n    #Calculates the entropy of a password in bits.\n    entropy = ep.calc_entopy(password)\n```\n`validate` checks if the password's entropy meets the specified minimum requirement.\n\nPasswords should ideally be > 60.\nGreat Passwords should be between 70-90.\n```python\n    min_entropy = 60.0\n    # Checks if the password's entropy meets the specified minimum requirement.\n    validate = ep.validate(entropy, min_entropy)\n```\n`estimate_bruteforce_time` assumes that cracking time scales linearly with the number of possible combinations.\n\nWhile this might hold for straightforward brute-force attacks, more sophisticated attacks,\nsuch as dictionary attacks or those exploiting weaknesses in password hashing algorithms, may have different time complexities.\n```python\n    guesses_per_second = 100_000_000\n    # Estimates the amount of time required to brute-force a password \n    time_brute_estimate = ep.estimate_bruteforce_time(entropy, guesses_per_second)\n```\n## Roadmap\n- [x] Entropy Calculator\n- [x] Brute-Force Estimate\n- [ ] Scoring\n- [ ] Feedback\n- [ ] Throttling/Hashing Brute-Force Estimate\n- [ ] Character Sequences\n\n## Contributing\nContributions are welcome!\n\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Simple entropy password validator.",
    "version": "0.1.2",
    "project_urls": {
        "Homepage": "https://github.com/Aresshu/enpass"
    },
    "split_keywords": [
        "entropy",
        "password",
        "validator",
        "strength"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "a5516626e33344d6fd24e5dbd82ddf70460e415ebad2453176564008c825e3a7",
                "md5": "043e4171e0b61134f9de46bb58e39777",
                "sha256": "5da0afba971dce80f76ebe8b0fb460259d7f844243296e2a1f3d18889e0526cb"
            },
            "downloads": -1,
            "filename": "enpass-0.1.2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "043e4171e0b61134f9de46bb58e39777",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 4609,
            "upload_time": "2024-05-07T22:31:11",
            "upload_time_iso_8601": "2024-05-07T22:31:11.595914Z",
            "url": "https://files.pythonhosted.org/packages/a5/51/6626e33344d6fd24e5dbd82ddf70460e415ebad2453176564008c825e3a7/enpass-0.1.2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "bf73862489d482fd32f245d4adfc50208b874dc8c3286ad02a56b8d4b3b548b8",
                "md5": "fc72044a952a8f28f5972cf578ccf520",
                "sha256": "9424ff845c7590ae4a3c68f719d6ede77983a4d96b4993e1c5b8159d190ae812"
            },
            "downloads": -1,
            "filename": "enpass-0.1.2.tar.gz",
            "has_sig": false,
            "md5_digest": "fc72044a952a8f28f5972cf578ccf520",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 3905,
            "upload_time": "2024-05-07T22:31:13",
            "upload_time_iso_8601": "2024-05-07T22:31:13.061865Z",
            "url": "https://files.pythonhosted.org/packages/bf/73/862489d482fd32f245d4adfc50208b874dc8c3286ad02a56b8d4b3b548b8/enpass-0.1.2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-05-07 22:31:13",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "Aresshu",
    "github_project": "enpass",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "enpass"
}
        
Elapsed time: 3.50570s