ascii-chiper


Nameascii-chiper JSON
Version 0.1.4 PyPI version JSON
download
home_pagehttps://github.com/glizzykingdreko/ascii_chiper
SummaryA versatile Python module for encrypting and decrypting strings, integers, and dictionaries using a variety of encryption techniques.
upload_time2023-06-11 00:09:00
maintainer
docs_urlNone
authorglizzykingdreko
requires_python>=3.6
license
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # ascii_chiper
`ascii_chiper` is a Python module for encrypting and decrypting strings, integers, and dictionaries using various encryption techniques. The module provides user-friendly and customizable encryption configurations to suit different use cases and levels of security.

## Features
- Accepts strings, integers, floats, lists and dictionaries as input for encryption
- Supports multiple encryption techniques, including swapping, XOR shifting, interleaving, rotation, XOR base, XOR addition, and interleaving with key
- Offers pre-configured encryption configurations for quick use
- Allows users to create custom encryption configurations

## Installation
To install the ascii_chiper module, use pip: 
```
pip install ascii_chiper
```

## Usage

This module is designed to be simple and easy to use. To get started, import the `Chiper` class and initialize an instance of it. You can then use the `encrypt` and `decrypt` methods to encrypt and decrypt your data.

The `encrypt` method takes the data to be encrypted, a base key, a length, and an encryption configuration as input. You can use one of the predefined encryption configurations or create your own custom configuration. The `decrypt` method requires the encrypted data, base key, length, and the same encryption configuration used during encryption.

### Hello World
```python
from ascii_chiper import Chiper

# Initialize the Chiper
chiper = Chiper(123)

encrypted = chiper.encrypt("Hello World!", 113, 40, Chiper.BASIC_SWAP_INTERLEAVE)
print(f"Encrypted: {encrypted}")
# Output 'xSJJSHNlQWyubF1vDyClV7RvfnKobCZkzyGUIg=='

decrypted = chiper.decrypt(encrypted)
print(f"Decrypted: {decrypted}")
# Output 'Hello World!'
```

### Basic usage
```python
from ascii_chiper import Chiper

# Initialize the Chiper
chiper = Chiper.initialize()

# Encrypt a message using a default encryption configuration
message = "This is a test message."
base, length = 123456789, 5
encrypted_message = chiper.encrypt(message, base, length, encrypt_steps=Chiper.XORBASE_ROTATE)

# Decrypt the encrypted message
decrypted_message = chiper.decrypt(encrypted_message)

print("Original message:", message)
print("Encrypted message:", encrypted_message)
print("Decrypted message:", decrypted_message)
```

### Custom configuration
```python
from ascii_chiper import Chiper, EncryptionModel, DecryptionModel

# Initialize the Chiper
chiper = Chiper.initialize()

# Encrypt a message using a custom encryption configuration
message = "A custom encryption example."
base, length = 987654321, 92
custom_config = [
    {"interleave": {}},
    {"swap": {}},
    {"rotate": {"index": 5}},
    {"xor_base": {"base": 137, "start": 0}},
]

encrypted_message = chiper.encrypt(message, base, length, encrypt_steps=custom_config)

# Decrypt the encrypted message using a DecryptionModel
decryption_model = DecryptionModel.from_encryption_model(EncryptionModel(base, length, custom_config))
decrypted_message = chiper.decrypt(encrypted_message, model=decryption_model)

print("Original message:", message)
print("Encrypted message:", encrypted_message)
print("Decrypted message:", decrypted_message)
```

### Advanced usage
```python
from ascii_chiper import Chiper, KeyGenerator, \
    EncryptionModel, DecryptionModel

# Custom encryption configuration
custom_config = [
    {"interleave": {}},
    {"rotate": {"index": 2}},
    {"xor_add": {"start": 0}},
]

# Create an encryption seed and model
seed = KeyGenerator.generate_seed()
encryption_model = EncryptionModel(123456789, 52, custom_config)

# Encrypt a message using a custom encryption configuration
message = {
    "example": True,
    "message": "This is a test message."
}
encrypted_message = Chiper(seed).encrypt(message, model=encryption_model)

# Decrypt the encrypted message using a DecryptionModel
decryption_model = DecryptionModel.from_encryption_model(encryption_model)
decrypted_message = Chiper(seed).decrypt(encrypted_message, model=decryption_model)

print("Original message:", message)
print("Encrypted message:", encrypted_message)
print("Decrypted message:", decrypted_message)
```

### Custom configuration with lambda functions
```python
from ascii_chiper import Chiper, EncryptionModel, DecryptionModel

# Initialize the Chiper
chiper = Chiper.initialize()

# Encrypt a message using a custom encryption configuration
message = "A custom encryption example."
base, length = 987654321, 92
custom_config = [
    {"swap": {}},
    {"rotate": {
        # We can use a lambda function to define the index
        # the len of the key is passed as the first argument
        "index": lambda key: key % 5,
    }},
    {"xor_base": {
        "base": 137,
        # We can use predefined functions as well
        "start": Chiper.MIDDLE_OF_KEY,
        "end": Chiper.PENULTIMATE_OF_KEY,
    }},
]

encrypted_message = chiper.encrypt(message, base, length, encrypt_steps=custom_config)

# Decrypt the encrypted message using a DecryptionModel
decryption_model = DecryptionModel.from_encryption_model(EncryptionModel(base, length, custom_config))
decrypted_message = chiper.decrypt(encrypted_message, model=decryption_model)

print("Original message:", message)
print("Encrypted message:", encrypted_message)
print("Decrypted message:", decrypted_message)
```

### Decrypt message by knowing key and steps
```python
from ascii_chiper import Chiper, EncryptionModel, DecryptionModel

# Decrypt a message using a custom encryption configuration
encrypted = "2tqBEWERKhGjI3qxKsFLuaMbWhNaybG5s5IqkmrKapJyyypDm6IqklrBmrlrWSq5WyuBkmrKymJqoZoTarErYqOBG6l6yyoiaqLKkqOqOhNaU3paq9ObE5ODKpqTy1pSq4taQ2Oxm1qryyvDe4NrC0q6qwtbWYGLMpIqYnILW9ObyxtiY5FKU3KhaoOrgavTq8taoptZEZJh6hHaEYkRYSMqsaPBerkqG0sTo8lauVqSsZKzyiqSastqQ3KiKpKbwSq5WlmauWsrKpJbmoFTq8F7InqiK1NqksoTMqIqYlLDehOLg0u5e7kqUmKLgYuby1pag5p7g6uTKwtqupsLWqmri1tDOoNCIyrTMsuaU6upG1NyoRqDcstq03qaC2KjuVqSm1lb6ZvqEdphCxGDg0tjCxtLo3N7g3kzI2ERKhGjI3qxKsFLuaMbWhNaybG5s5IqkmrKapJyyypDm6IqklrBmrlrWSq5WyuBkmrKymJqoZoTarErYqOBG6l6yyoiaqLKkqOqOhNaU3paq9ObE5ODKpqTy1pSq4taQ2Oxm1qryyvDe4NrC0q6qwtbWYGLMpIqYnILW9ObyxtiY5FKU3KhaoOrgavTq8taoptZEZJh6hHaK6Ojw4N5MyNhESoRoyN6sSrBS7mjG1oTWsmxubOSKpJqymqScssqQ5uiKpJawZq5a1kquVsrgZKrmntTesErImqiylMykioTUqJ6YovDSxN7gyq5YrmBUpuLWouDy3taq5org2qTmwtauqsLW6k6i0JDKoMyI5rTq8sbU3KpGlNyoWqDessL06OaWmKbuVuSm1kR6erq"
used_encrypt_steps = [
    {"swap": {}},
    {"xor_shift": {}}
]
used_key = [114,114]
excepted_output = [["0","Edt6O8E7ictbK9K76RvREYMRMyNhETsRE8K7S+m7EekR0YMLY4MbS6MLe0t5cyODETMRYUtbGjKKOzubsprSEyrJKquhK6lKsyuxepoamWIau+kq0RFLEaNzkysLc2ljI4NpM0uzuyuTK+sR"],["1","Edt6O8E7ictbK9K76RvREYMRMyNhETsRE8K7S+m7EekR0Sujo8ODeTMjYRFbETJLOxqbipo7E7LJ0qsqKypKoSuperMasWKau5kqGhHpEdFzSyujc5NjC4NpMyOzaStLK7sRk+s="],["application/pdf","Edt6O8E7ictbK9K76RvREYMRMyNhETsRE8K7S+m7EekR0YMLY4MbS6MLe0t5cyODETMRYUtbGjKKOzubsprSEyrJKquhK6lKsyuxepoamWIau+kq0RFLEaNzkysLc2ljI4NpM0uzuyuTK+sR"],["text/pdf","Edt6O8E7ictbK9K76RvREYMRMyNhETsRE8K7S+m7EekR0Sujo8ODeTMjYRFbETJLOxqbipo7E7LJ0qsqKypKoSuperMasWKau5kqGhHpEdFzSyujc5NjC4NpMyOzaStLK7sRk+s="]]

# Create the EncryptionModel
enc_model = EncryptionModel(0, 0, encrypt_steps=used_encrypt_steps)

# Initialize the Chiper
chiper = Chiper.initialize()

# Decrypt the encrypted message
decrypted_message = chiper.decrypt(encrypted, key=used_key, decrypt_steps=DecryptionModel.from_encryption_model(enc_model).decrypt_steps)
print("Decrypted message:", decrypted_message)
print(f"Decrypted message is equal to excepted output: {decrypted_message == excepted_output}")
# Have fun :P those looks like some mime_types encrypted
```
For other examples usages, please refer to the Examples folder.

## Encryption Methods

`ascii_chiper` offers various encryption techniques that can be combined in different configurations to achieve the desired level of security:

| Name            | Description                                          | Optional Parameters                 |
|-----------------|------------------------------------------------------|-------------------------------------|
| reverse         | Reverse the input data.                              |                                     |
| swap            | Swaps pairs of characters in the input data.         |                                     |
| rotate          | Rotates the input data by a specified index from the key. | Index from key to use           |
| interleave      | Interleaves the input data, effectively rearranging the characters. | key start/end                 |
| interleave_key  | Interleaves the input data based on the key start and end positions. | key start/end                 |
| xor_shift       | Applies an XOR shift operation using a specified index from the key. | index of key to use           |
| xor_base        | Performs XOR operation on the input data using the base and the key start and end positions. | base to use, start/end key to use |
| xor_add         | Adds the key start and end values to the input data using XOR addition. | start/end key to use         |

You can combine these encryption methods in a custom configuration to suit your specific requirements.

## Encryption Configurations
In addition to creating your own custom encryption configurations, `ascii_chiper` provides several pre-configured encryption configurations that cater to different use cases and security levels:

- **BASIC_SWAP_INTERLEAVE**: A simple configuration that combines Swap and Interleave encryption methods for basic security.
- **ROTATE_XORSHIFT**: Combines the Rotate and XorShift methods for an intermediate level of security.
- **XORBASE_ROTATE**: Combines the XorBase and Rotate methods for enhanced security.
- **XORADD_INTERLEAVE**: Combines the XorAdd and Interleave methods for a higher level of security.
- **FULL_ENCRYPTION**: Uses all available encryption methods for maximum security.

Remember to use the same encryption configuration for both encryption and decryption to ensure proper functionality.

## Personal Thoughts

I hope you find this module useful. This module is the exact Python implementation of the encryption method used by a well-known web anti-bot system. If you know what I'm talking about, you'll definitely find it useful. 
Please feel free to contact me for any help or suggestions via [Email](mailto:glizzykingdreko@protonmail.com) or [Twitter](https://mobile.twitter.com/glizzykingdreko). I appreciate your feedback and contributions to the project.

## License
This project is licensed under the MIT [License](LICENSE). See the LICENSE file for more details.

## My links
- [Project repository](https://github.com/glizzykingdreko/ascii_chiper)
- [GitHub](https://github.com/glizzykingdreko)
- [Twitter](https://mobile.twitter.com/glizzykingdreko)
- [Medium](https://medium.com/@glizzykingdreko)
- [Email](mailto:glizzykingdreko@protonmail.com)

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/glizzykingdreko/ascii_chiper",
    "name": "ascii-chiper",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.6",
    "maintainer_email": "",
    "keywords": "",
    "author": "glizzykingdreko",
    "author_email": "glizzykingdreko@protonmail.com",
    "download_url": "https://files.pythonhosted.org/packages/fb/a4/121a5c4610aa2fd6f63580c5559445678a5682f8611b0efa31f1a1d5664e/ascii_chiper-0.1.4.tar.gz",
    "platform": null,
    "description": "# ascii_chiper\n`ascii_chiper` is a Python module for encrypting and decrypting strings, integers, and dictionaries using various encryption techniques. The module provides user-friendly and customizable encryption configurations to suit different use cases and levels of security.\n\n## Features\n- Accepts strings, integers, floats, lists and dictionaries as input for encryption\n- Supports multiple encryption techniques, including swapping, XOR shifting, interleaving, rotation, XOR base, XOR addition, and interleaving with key\n- Offers pre-configured encryption configurations for quick use\n- Allows users to create custom encryption configurations\n\n## Installation\nTo install the ascii_chiper module, use pip: \n```\npip install ascii_chiper\n```\n\n## Usage\n\nThis module is designed to be simple and easy to use. To get started, import the `Chiper` class and initialize an instance of it. You can then use the `encrypt` and `decrypt` methods to encrypt and decrypt your data.\n\nThe `encrypt` method takes the data to be encrypted, a base key, a length, and an encryption configuration as input. You can use one of the predefined encryption configurations or create your own custom configuration. The `decrypt` method requires the encrypted data, base key, length, and the same encryption configuration used during encryption.\n\n### Hello World\n```python\nfrom ascii_chiper import Chiper\n\n# Initialize the Chiper\nchiper = Chiper(123)\n\nencrypted = chiper.encrypt(\"Hello World!\", 113, 40, Chiper.BASIC_SWAP_INTERLEAVE)\nprint(f\"Encrypted: {encrypted}\")\n# Output 'xSJJSHNlQWyubF1vDyClV7RvfnKobCZkzyGUIg=='\n\ndecrypted = chiper.decrypt(encrypted)\nprint(f\"Decrypted: {decrypted}\")\n# Output 'Hello World!'\n```\n\n### Basic usage\n```python\nfrom ascii_chiper import Chiper\n\n# Initialize the Chiper\nchiper = Chiper.initialize()\n\n# Encrypt a message using a default encryption configuration\nmessage = \"This is a test message.\"\nbase, length = 123456789, 5\nencrypted_message = chiper.encrypt(message, base, length, encrypt_steps=Chiper.XORBASE_ROTATE)\n\n# Decrypt the encrypted message\ndecrypted_message = chiper.decrypt(encrypted_message)\n\nprint(\"Original message:\", message)\nprint(\"Encrypted message:\", encrypted_message)\nprint(\"Decrypted message:\", decrypted_message)\n```\n\n### Custom configuration\n```python\nfrom ascii_chiper import Chiper, EncryptionModel, DecryptionModel\n\n# Initialize the Chiper\nchiper = Chiper.initialize()\n\n# Encrypt a message using a custom encryption configuration\nmessage = \"A custom encryption example.\"\nbase, length = 987654321, 92\ncustom_config = [\n    {\"interleave\": {}},\n    {\"swap\": {}},\n    {\"rotate\": {\"index\": 5}},\n    {\"xor_base\": {\"base\": 137, \"start\": 0}},\n]\n\nencrypted_message = chiper.encrypt(message, base, length, encrypt_steps=custom_config)\n\n# Decrypt the encrypted message using a DecryptionModel\ndecryption_model = DecryptionModel.from_encryption_model(EncryptionModel(base, length, custom_config))\ndecrypted_message = chiper.decrypt(encrypted_message, model=decryption_model)\n\nprint(\"Original message:\", message)\nprint(\"Encrypted message:\", encrypted_message)\nprint(\"Decrypted message:\", decrypted_message)\n```\n\n### Advanced usage\n```python\nfrom ascii_chiper import Chiper, KeyGenerator, \\\n    EncryptionModel, DecryptionModel\n\n# Custom encryption configuration\ncustom_config = [\n    {\"interleave\": {}},\n    {\"rotate\": {\"index\": 2}},\n    {\"xor_add\": {\"start\": 0}},\n]\n\n# Create an encryption seed and model\nseed = KeyGenerator.generate_seed()\nencryption_model = EncryptionModel(123456789, 52, custom_config)\n\n# Encrypt a message using a custom encryption configuration\nmessage = {\n    \"example\": True,\n    \"message\": \"This is a test message.\"\n}\nencrypted_message = Chiper(seed).encrypt(message, model=encryption_model)\n\n# Decrypt the encrypted message using a DecryptionModel\ndecryption_model = DecryptionModel.from_encryption_model(encryption_model)\ndecrypted_message = Chiper(seed).decrypt(encrypted_message, model=decryption_model)\n\nprint(\"Original message:\", message)\nprint(\"Encrypted message:\", encrypted_message)\nprint(\"Decrypted message:\", decrypted_message)\n```\n\n### Custom configuration with lambda functions\n```python\nfrom ascii_chiper import Chiper, EncryptionModel, DecryptionModel\n\n# Initialize the Chiper\nchiper = Chiper.initialize()\n\n# Encrypt a message using a custom encryption configuration\nmessage = \"A custom encryption example.\"\nbase, length = 987654321, 92\ncustom_config = [\n    {\"swap\": {}},\n    {\"rotate\": {\n        #\u00a0We can use a lambda function to define the index\n        # the len of the key is passed as the first argument\n        \"index\": lambda key: key % 5,\n    }},\n    {\"xor_base\": {\n        \"base\": 137,\n        # We can use predefined functions as well\n        \"start\": Chiper.MIDDLE_OF_KEY,\n        \"end\": Chiper.PENULTIMATE_OF_KEY,\n    }},\n]\n\nencrypted_message = chiper.encrypt(message, base, length, encrypt_steps=custom_config)\n\n# Decrypt the encrypted message using a DecryptionModel\ndecryption_model = DecryptionModel.from_encryption_model(EncryptionModel(base, length, custom_config))\ndecrypted_message = chiper.decrypt(encrypted_message, model=decryption_model)\n\nprint(\"Original message:\", message)\nprint(\"Encrypted message:\", encrypted_message)\nprint(\"Decrypted message:\", decrypted_message)\n```\n\n### Decrypt message by knowing key and steps\n```python\nfrom ascii_chiper import Chiper, EncryptionModel, DecryptionModel\n\n# Decrypt a message using a custom encryption configuration\nencrypted = \"2tqBEWERKhGjI3qxKsFLuaMbWhNaybG5s5IqkmrKapJyyypDm6IqklrBmrlrWSq5WyuBkmrKymJqoZoTarErYqOBG6l6yyoiaqLKkqOqOhNaU3paq9ObE5ODKpqTy1pSq4taQ2Oxm1qryyvDe4NrC0q6qwtbWYGLMpIqYnILW9ObyxtiY5FKU3KhaoOrgavTq8taoptZEZJh6hHaEYkRYSMqsaPBerkqG0sTo8lauVqSsZKzyiqSastqQ3KiKpKbwSq5WlmauWsrKpJbmoFTq8F7InqiK1NqksoTMqIqYlLDehOLg0u5e7kqUmKLgYuby1pag5p7g6uTKwtqupsLWqmri1tDOoNCIyrTMsuaU6upG1NyoRqDcstq03qaC2KjuVqSm1lb6ZvqEdphCxGDg0tjCxtLo3N7g3kzI2ERKhGjI3qxKsFLuaMbWhNaybG5s5IqkmrKapJyyypDm6IqklrBmrlrWSq5WyuBkmrKymJqoZoTarErYqOBG6l6yyoiaqLKkqOqOhNaU3paq9ObE5ODKpqTy1pSq4taQ2Oxm1qryyvDe4NrC0q6qwtbWYGLMpIqYnILW9ObyxtiY5FKU3KhaoOrgavTq8taoptZEZJh6hHaK6Ojw4N5MyNhESoRoyN6sSrBS7mjG1oTWsmxubOSKpJqymqScssqQ5uiKpJawZq5a1kquVsrgZKrmntTesErImqiylMykioTUqJ6YovDSxN7gyq5YrmBUpuLWouDy3taq5org2qTmwtauqsLW6k6i0JDKoMyI5rTq8sbU3KpGlNyoWqDessL06OaWmKbuVuSm1kR6erq\"\nused_encrypt_steps = [\n    {\"swap\": {}},\n    {\"xor_shift\": {}}\n]\nused_key = [114,114]\nexcepted_output = [[\"0\",\"Edt6O8E7ictbK9K76RvREYMRMyNhETsRE8K7S+m7EekR0YMLY4MbS6MLe0t5cyODETMRYUtbGjKKOzubsprSEyrJKquhK6lKsyuxepoamWIau+kq0RFLEaNzkysLc2ljI4NpM0uzuyuTK+sR\"],[\"1\",\"Edt6O8E7ictbK9K76RvREYMRMyNhETsRE8K7S+m7EekR0Sujo8ODeTMjYRFbETJLOxqbipo7E7LJ0qsqKypKoSuperMasWKau5kqGhHpEdFzSyujc5NjC4NpMyOzaStLK7sRk+s=\"],[\"application/pdf\",\"Edt6O8E7ictbK9K76RvREYMRMyNhETsRE8K7S+m7EekR0YMLY4MbS6MLe0t5cyODETMRYUtbGjKKOzubsprSEyrJKquhK6lKsyuxepoamWIau+kq0RFLEaNzkysLc2ljI4NpM0uzuyuTK+sR\"],[\"text/pdf\",\"Edt6O8E7ictbK9K76RvREYMRMyNhETsRE8K7S+m7EekR0Sujo8ODeTMjYRFbETJLOxqbipo7E7LJ0qsqKypKoSuperMasWKau5kqGhHpEdFzSyujc5NjC4NpMyOzaStLK7sRk+s=\"]]\n\n# Create the EncryptionModel\nenc_model = EncryptionModel(0, 0, encrypt_steps=used_encrypt_steps)\n\n# Initialize the Chiper\nchiper = Chiper.initialize()\n\n# Decrypt the encrypted message\ndecrypted_message = chiper.decrypt(encrypted, key=used_key, decrypt_steps=DecryptionModel.from_encryption_model(enc_model).decrypt_steps)\nprint(\"Decrypted message:\", decrypted_message)\nprint(f\"Decrypted message is equal to excepted output: {decrypted_message == excepted_output}\")\n# Have fun :P those looks like some mime_types encrypted\n```\nFor other examples usages, please refer to the Examples folder.\n\n## Encryption Methods\n\n`ascii_chiper` offers various encryption techniques that can be combined in different configurations to achieve the desired level of security:\n\n| Name            | Description                                          | Optional Parameters                 |\n|-----------------|------------------------------------------------------|-------------------------------------|\n| reverse         | Reverse the input data.                              |                                     |\n| swap            | Swaps pairs of characters in the input data.         |                                     |\n| rotate          | Rotates the input data by a specified index from the key. | Index from key to use           |\n| interleave      | Interleaves the input data, effectively rearranging the characters. | key start/end                 |\n| interleave_key  | Interleaves the input data based on the key start and end positions. | key start/end                 |\n| xor_shift       | Applies an XOR shift operation using a specified index from the key. | index of key to use           |\n| xor_base        | Performs XOR operation on the input data using the base and the key start and end positions. | base to use, start/end key to use |\n| xor_add         | Adds the key start and end values to the input data using XOR addition. | start/end key to use         |\n\nYou can combine these encryption methods in a custom configuration to suit your specific requirements.\n\n## Encryption Configurations\nIn addition to creating your own custom encryption configurations, `ascii_chiper` provides several pre-configured encryption configurations that cater to different use cases and security levels:\n\n- **BASIC_SWAP_INTERLEAVE**: A simple configuration that combines Swap and Interleave encryption methods for basic security.\n- **ROTATE_XORSHIFT**: Combines the Rotate and XorShift methods for an intermediate level of security.\n- **XORBASE_ROTATE**: Combines the XorBase and Rotate methods for enhanced security.\n- **XORADD_INTERLEAVE**: Combines the XorAdd and Interleave methods for a higher level of security.\n- **FULL_ENCRYPTION**: Uses all available encryption methods for maximum security.\n\nRemember to use the same encryption configuration for both encryption and decryption to ensure proper functionality.\n\n## Personal Thoughts\n\nI hope you find this module useful. This module is the exact Python implementation of the encryption method used by a well-known web anti-bot system. If you know what I'm talking about, you'll definitely find it useful. \nPlease feel free to contact me for any help or suggestions via [Email](mailto:glizzykingdreko@protonmail.com) or [Twitter](https://mobile.twitter.com/glizzykingdreko). I appreciate your feedback and contributions to the project.\n\n## License\nThis project is licensed under the MIT [License](LICENSE). See the LICENSE file for more details.\n\n## My links\n- [Project repository](https://github.com/glizzykingdreko/ascii_chiper)\n- [GitHub](https://github.com/glizzykingdreko)\n- [Twitter](https://mobile.twitter.com/glizzykingdreko)\n- [Medium](https://medium.com/@glizzykingdreko)\n- [Email](mailto:glizzykingdreko@protonmail.com)\n",
    "bugtrack_url": null,
    "license": "",
    "summary": "A versatile Python module for encrypting and decrypting strings, integers, and dictionaries using a variety of encryption techniques.",
    "version": "0.1.4",
    "project_urls": {
        "Homepage": "https://github.com/glizzykingdreko/ascii_chiper"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "9c341e8befcbfb67321d574130cee74773c94214239281af0b2a58bc9c6120b7",
                "md5": "83d2ab39674b485581d0e5c9cb2ce68f",
                "sha256": "a43ce9e02b1248adae2ab43663726d9a49a5dd35a035d849ca29b13ad3c544f8"
            },
            "downloads": -1,
            "filename": "ascii_chiper-0.1.4-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "83d2ab39674b485581d0e5c9cb2ce68f",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.6",
            "size": 13736,
            "upload_time": "2023-06-11T00:08:58",
            "upload_time_iso_8601": "2023-06-11T00:08:58.775623Z",
            "url": "https://files.pythonhosted.org/packages/9c/34/1e8befcbfb67321d574130cee74773c94214239281af0b2a58bc9c6120b7/ascii_chiper-0.1.4-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fba4121a5c4610aa2fd6f63580c5559445678a5682f8611b0efa31f1a1d5664e",
                "md5": "ce25d986d0936986a869691f0bd6f2f3",
                "sha256": "935ea9235fbc8acbcf992173f46d98d56f0ced7bf9a7152ec68d1f29bc5ff846"
            },
            "downloads": -1,
            "filename": "ascii_chiper-0.1.4.tar.gz",
            "has_sig": false,
            "md5_digest": "ce25d986d0936986a869691f0bd6f2f3",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.6",
            "size": 15343,
            "upload_time": "2023-06-11T00:09:00",
            "upload_time_iso_8601": "2023-06-11T00:09:00.507651Z",
            "url": "https://files.pythonhosted.org/packages/fb/a4/121a5c4610aa2fd6f63580c5559445678a5682f8611b0efa31f1a1d5664e/ascii_chiper-0.1.4.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-06-11 00:09:00",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "glizzykingdreko",
    "github_project": "ascii_chiper",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "ascii-chiper"
}
        
Elapsed time: 0.09675s