{ "info": { "author": "Marco Bellaccini", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python :: 3", "Topic :: Security", "Topic :: Security :: Cryptography", "Topic :: Utilities" ], "description": "pyAesCrypt\n===============\n.. image:: https://travis-ci.org/marcobellaccini/pyAesCrypt.svg?branch=master\n :target: https://travis-ci.org/marcobellaccini/pyAesCrypt\n.. image:: https://pepy.tech/badge/pyaescrypt\n :target: https://pepy.tech/project/pyaescrypt\n\nAbout pyAesCrypt\n--------------------------\npyAesCrypt is a Python 3 file-encryption module and script that uses AES256-CBC to encrypt/decrypt files and binary streams.\n\npyAesCrypt is compatible with the `AES Crypt`_ `file format`_ (version 2).\n\nIt is Free Software, released under the `Apache License, Version 2.0`_.\n\npyAesCrypt is brought to you by Marco Bellaccini - marco.bellaccini(at!)gmail.com.\n\nIMPORTANT SECURITY NOTE: version 2 of the AES Crypt file format does not authenticate the \"file size modulo 16\" byte. This implies that an attacker \nwith write access to the encrypted file may alter the corresponding plaintext file size by up to 15 bytes.\n\nNOTE: there is no low-level memory management in Python, hence it is not possible to wipe memory areas were sensitive information was stored.\n\nModule usage example\n------------------------\nHere is an example showing encryption and decryption of a file:\n\n.. code:: python\n\n import pyAesCrypt\n # encryption/decryption buffer size - 64K\n bufferSize = 64 * 1024\n password = \"foopassword\"\n # encrypt\n pyAesCrypt.encryptFile(\"data.txt\", \"data.txt.aes\", password, bufferSize)\n # decrypt\n pyAesCrypt.decryptFile(\"data.txt.aes\", \"dataout.txt\", password, bufferSize)\n\nby calling the stream-oriented functions, you can work with binary streams too:\n\n.. code:: python\n\n import pyAesCrypt\n from os import stat, remove\n # encryption/decryption buffer size - 64K\n bufferSize = 64 * 1024\n password = \"foopassword\"\n\n # encrypt\n with open(\"data.txt\", \"rb\") as fIn:\n with open(\"data.txt.aes\", \"wb\") as fOut:\n pyAesCrypt.encryptStream(fIn, fOut, password, bufferSize)\n\n # get encrypted file size\n encFileSize = stat(\"data.txt.aes\").st_size\n\n # decrypt\n with open(\"data.txt.aes\", \"rb\") as fIn:\n try:\n with open(\"dataout.txt\", \"wb\") as fOut:\n # decrypt file stream\n pyAesCrypt.decryptStream(fIn, fOut, password, bufferSize, encFileSize)\n except ValueError:\n # remove output file on error\n remove(\"dataout.txt\")\n\nyou can also perform in-memory encryption/decryption (using BytesIO):\n\n.. code:: python\n\n import pyAesCrypt\n import io\n\n bufferSize = 64 * 1024\n password = \"foopassword\"\n\n # binary data to be encrypted\n pbdata = b\"This is binary plaintext \\x00\\x01\"\n\n # input plaintext binary stream\n fIn = io.BytesIO(pbdata)\n\n # initialize ciphertext binary stream\n fCiph = io.BytesIO()\n\n # initialize decrypted binary stream\n fDec = io.BytesIO()\n\n # encrypt stream\n pyAesCrypt.encryptStream(fIn, fCiph, password, bufferSize)\n\n # print encrypted data\n print(\"This is the ciphertext:\\n\" + str(fCiph.getvalue()))\n\n # get ciphertext length\n ctlen = len(fCiph.getvalue())\n\n # go back to the start of the ciphertext stream\n fCiph.seek(0)\n\n # decrypt stream\n pyAesCrypt.decryptStream(fCiph, fDec, password, bufferSize, ctlen)\n\n # print decrypted data\n print(\"Decrypted data:\\n\" + str(fDec.getvalue()))\n\n\n\nScript usage examples\n------------------------\nEncrypt file test.txt in test.txt.aes:\n\n\tpyAesCrypt -e test.txt\n\nDecrypt file test.txt.aes in test.txt:\n\n\tpyAesCrypt -d test.txt.aes\n\nEncrypt file test.txt in test2.txt.aes:\n\n\tpyAesCrypt -e test.txt -o test2.txt.aes\n\nDecrypt file test.txt.aes in test2.txt:\n\n\tpyAesCrypt -d test.txt.aes -o test2.txt\n\n.. _AES Crypt: https://www.aescrypt.com\n.. _file format: https://www.aescrypt.com/aes_file_format.html\n.. _Apache License, Version 2.0: http://www.apache.org/licenses/LICENSE-2.0\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/marcobellaccini/pyAesCrypt", "keywords": "AES Crypt encrypt decrypt", "license": "Apache License 2.0", "maintainer": "", "maintainer_email": "", "name": "pyAesCrypt", "package_url": "https://pypi.org/project/pyAesCrypt/", "platform": "", "project_url": "https://pypi.org/project/pyAesCrypt/", "project_urls": { "Homepage": "https://github.com/marcobellaccini/pyAesCrypt" }, "release_url": "https://pypi.org/project/pyAesCrypt/0.4.3/", "requires_dist": [ "cryptography" ], "requires_python": "", "summary": "Encrypt and decrypt files and streams in AES Crypt format (version 2)", "version": "0.4.3" }, "last_serial": 5199153, "releases": { "0.1": [ { "comment_text": "", "digests": { "md5": "5e058024159c5412ca410dbc2799c170", "sha256": "e737302acdaec29731158804bc385393515a9c9f6757e97a7cbad8c515ba763b" }, "downloads": -1, "filename": "pyAesCrypt-0.1-py3.2.egg", "has_sig": false, "md5_digest": "5e058024159c5412ca410dbc2799c170", "packagetype": "bdist_egg", "python_version": "3.2", "requires_python": null, "size": 5454, "upload_time": "2016-01-03T11:49:58", "url": "https://files.pythonhosted.org/packages/07/fb/b575c86fcaf09b4454a594ff7471fbae023144512bf6181c64351da230d2/pyAesCrypt-0.1-py3.2.egg" }, { "comment_text": "", "digests": { "md5": "c6198688ebd4b43273b665ba2086e32f", "sha256": "fbca42f68bab22df34a49968c149f89f7c166c3077d343898fcb0550aeeb3919" }, "downloads": -1, "filename": "pyAesCrypt-0.1.tar.gz", "has_sig": false, "md5_digest": "c6198688ebd4b43273b665ba2086e32f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8629, "upload_time": "2016-01-03T11:51:00", "url": "https://files.pythonhosted.org/packages/e9/88/0c3d6d271265c7438da64d7222bf469d21d977a162811694a1298c025fef/pyAesCrypt-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "c508a105687c87dcb51f363d18bf1a54", "sha256": "8de667bc8762318a283f93cfa709593f82121228f4d851d305eec221964c883e" }, "downloads": -1, "filename": "pyAesCrypt-0.1.1-py3.2.egg", "has_sig": false, "md5_digest": "c508a105687c87dcb51f363d18bf1a54", "packagetype": "bdist_egg", "python_version": "3.2", "requires_python": null, "size": 5460, "upload_time": "2016-01-03T12:12:32", "url": "https://files.pythonhosted.org/packages/21/71/f977c58710455cf2bdfbb6326a68c2d3b2add6cdd54d2bbd24ac9c36d2b8/pyAesCrypt-0.1.1-py3.2.egg" }, { "comment_text": "", "digests": { "md5": "a9bfae78ae0f5616358cb32316e8f4dd", "sha256": "05ed7350137e4f34c772d195351596382e737b4fdd9c1da7232ccbed8144456b" }, "downloads": -1, "filename": "pyAesCrypt-0.1.1.tar.gz", "has_sig": false, "md5_digest": "a9bfae78ae0f5616358cb32316e8f4dd", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8632, "upload_time": "2016-01-03T12:13:00", "url": "https://files.pythonhosted.org/packages/e1/90/08cf3944df3d9510b4d0561a9e1a72086c495dd31a297e6b2a637e0d7e04/pyAesCrypt-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "e6c62047374a523d887ef67eec796609", "sha256": "fb6ace3f57a6706d8d838d515f77ff19c86e092d0ef717e4519347deeeaf3021" }, "downloads": -1, "filename": "pyAesCrypt-0.1.2-py3.2.egg", "has_sig": false, "md5_digest": "e6c62047374a523d887ef67eec796609", "packagetype": "bdist_egg", "python_version": "3.2", "requires_python": null, "size": 5460, "upload_time": "2016-01-03T12:23:24", "url": "https://files.pythonhosted.org/packages/d6/26/88f8204252a8a6876a6b94d4eb6b75e3b2cfc64a90cbed8239aa82eb1e18/pyAesCrypt-0.1.2-py3.2.egg" }, { "comment_text": "", "digests": { "md5": "da9bddb8e7600746b4f9692eefaec14c", "sha256": "5074b091001bb4e228a6f1900da00e31f2eeff0451e4ba445e3d1519e9fb591f" }, "downloads": -1, "filename": "pyAesCrypt-0.1.2.tar.gz", "has_sig": false, "md5_digest": "da9bddb8e7600746b4f9692eefaec14c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 8623, "upload_time": "2016-01-03T12:23:15", "url": "https://files.pythonhosted.org/packages/4d/7a/9562241c88f00939f472b6c60e8a86015be4617ee41a3426fda00305bb91/pyAesCrypt-0.1.2.tar.gz" } ], "0.2": [ { "comment_text": "", "digests": { "md5": "b4d3942adc8ba968ad45f97b4f1c0fe8", "sha256": "94d421a8cab20f2ad343713dc2538fbd0c41903aeab977719eaa52203f395aab" }, "downloads": -1, "filename": "pyAesCrypt-0.2-py3-none-any.whl", "has_sig": false, "md5_digest": "b4d3942adc8ba968ad45f97b4f1c0fe8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 10729, "upload_time": "2017-01-21T11:38:43", "url": "https://files.pythonhosted.org/packages/5e/c9/a32229d93c1e2a855d886f294304bb7f4bd5b77c41fca10182ed9c579e4b/pyAesCrypt-0.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "7a1c6774f3c375c215b2631d3c23b1b4", "sha256": "8d475ebea8170908e33e20f0ebba0a28287268701b8e46e085f49a9da8ed0f60" }, "downloads": -1, "filename": "pyAesCrypt-0.2.tar.gz", "has_sig": false, "md5_digest": "7a1c6774f3c375c215b2631d3c23b1b4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11061, "upload_time": "2017-01-21T11:38:46", "url": "https://files.pythonhosted.org/packages/ef/41/f4d46e85ea3a2d4c236dbc2eaabe1b6250c16a0a635cbaca5842d17eb9b3/pyAesCrypt-0.2.tar.gz" } ], "0.2.1": [ { "comment_text": "", "digests": { "md5": "135a27daf5252bf3378f7526b04dcf83", "sha256": "dbde91f51a194f17d1199c84afcd8c2215ccc81e1585959e8711f8273012f417" }, "downloads": -1, "filename": "pyAesCrypt-0.2.1-py3-none-any.whl", "has_sig": false, "md5_digest": "135a27daf5252bf3378f7526b04dcf83", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11694, "upload_time": "2017-02-11T18:51:33", "url": "https://files.pythonhosted.org/packages/45/a0/b4320eacf9c4c64bb4d6b15a7be7b7f59896aca0a08d90bf1ce73f304fa2/pyAesCrypt-0.2.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "119fb49d3a6ab94a366313418048254c", "sha256": "ffa353d6af893fd0cb9bd06d40133d28f8924c662b6a6d6fc27e29aa96c19b90" }, "downloads": -1, "filename": "pyAesCrypt-0.2.1.tar.gz", "has_sig": false, "md5_digest": "119fb49d3a6ab94a366313418048254c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12429, "upload_time": "2017-02-11T18:51:36", "url": "https://files.pythonhosted.org/packages/81/6d/551a1fbd228e749e65a219b5fd105e944b4df93ff54318e28fc97afcc1e1/pyAesCrypt-0.2.1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "bc3028f6f03d9b04bfcf8e9c691e2238", "sha256": "205ed753cef0fc374701267ba31bbd3fd566e65f55c91bcd007a9b380e9422e5" }, "downloads": -1, "filename": "pyAesCrypt-0.2.2-py3-none-any.whl", "has_sig": false, "md5_digest": "bc3028f6f03d9b04bfcf8e9c691e2238", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11774, "upload_time": "2017-08-20T15:50:33", "url": "https://files.pythonhosted.org/packages/72/0d/c1dd49db420c5547a5d9f1cf662e9fca9ce2fdf57b1e77b60920f347add9/pyAesCrypt-0.2.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "2096e4ce77d5aa45eb51effa07f1d6a6", "sha256": "712ee78fbd2eb63e17faace8ff7fe2997dcf54a03bb70db5b01005cf6a2e4085" }, "downloads": -1, "filename": "pyAesCrypt-0.2.2.tar.gz", "has_sig": false, "md5_digest": "2096e4ce77d5aa45eb51effa07f1d6a6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12152, "upload_time": "2017-08-20T15:50:34", "url": "https://files.pythonhosted.org/packages/a6/28/5cfe9254ea08011bf373b19ec2c85a8ec1a781160b32779c74a3400c1916/pyAesCrypt-0.2.2.tar.gz" } ], "0.3": [ { "comment_text": "", "digests": { "md5": "b6b62a428b8706b541b14597c49bf5b4", "sha256": "240a08250e9f241329064f80a50769fbdf48151251638e193052a514092293fe" }, "downloads": -1, "filename": "pyAesCrypt-0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "b6b62a428b8706b541b14597c49bf5b4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11856, "upload_time": "2017-08-26T10:39:32", "url": "https://files.pythonhosted.org/packages/3d/86/ab57e7aaba804ddda8171557107cad476bb6d5cac44e5333560ac1733f06/pyAesCrypt-0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "e27501063025b39a0cf84acb2ff9d0de", "sha256": "1fcd564e0098682a88f6d54c6bf1896b950df6f22b2197a39acffec5ab82d481" }, "downloads": -1, "filename": "pyAesCrypt-0.3.tar.gz", "has_sig": false, "md5_digest": "e27501063025b39a0cf84acb2ff9d0de", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12300, "upload_time": "2017-08-26T10:39:35", "url": "https://files.pythonhosted.org/packages/76/40/06f74a0ce347f8c4e74139163c24cd62d6642f4ab0c4747f69835fb7c1ca/pyAesCrypt-0.3.tar.gz" } ], "0.3.1": [ { "comment_text": "", "digests": { "md5": "ef4e5c3945d96e204e93dc06ab6be5cb", "sha256": "d53ac8dd9ff1af96fb00a7295caaa8e1ea1520caf4fb9f69b594373bc23fd530" }, "downloads": -1, "filename": "pyAesCrypt-0.3.1-py3-none-any.whl", "has_sig": false, "md5_digest": "ef4e5c3945d96e204e93dc06ab6be5cb", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 11879, "upload_time": "2018-05-26T10:03:42", "url": "https://files.pythonhosted.org/packages/2e/c7/414e7f517386b88558731509a4b4f3d4f62e10b853c5ebb08a06542120a0/pyAesCrypt-0.3.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "d6e80aab5dc1f9c5f9feb9bc5e9bbb8f", "sha256": "28f1ccb515edbdc9badcdb504005e317a82f90c7c8a39aa26a03876e6db1997e" }, "downloads": -1, "filename": "pyAesCrypt-0.3.1.tar.gz", "has_sig": false, "md5_digest": "d6e80aab5dc1f9c5f9feb9bc5e9bbb8f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12340, "upload_time": "2018-05-26T10:03:43", "url": "https://files.pythonhosted.org/packages/22/66/6960724e0030a1cfba4a08dbfc44a217e5739d8ce23ddc253b7f6272cd3d/pyAesCrypt-0.3.1.tar.gz" } ], "0.4": [ { "comment_text": "", "digests": { "md5": "eb988ed8fcbd3599e418754235f3e4e3", "sha256": "3ddf080590c004465c2a9e22ed698000cbc1f4e5e6a91a0b9a29b893191cf71a" }, "downloads": -1, "filename": "pyAesCrypt-0.4-py3-none-any.whl", "has_sig": false, "md5_digest": "eb988ed8fcbd3599e418754235f3e4e3", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13006, "upload_time": "2018-08-19T15:34:50", "url": "https://files.pythonhosted.org/packages/fa/da/3dfc14c6409a86fdf49b903b4183372558ee996a25cf737e4817861d2944/pyAesCrypt-0.4-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "34ce1a42bb78c6d7d030cf35c827b170", "sha256": "852b383072ebc2c79b691b3d4ed62508c08d20f2c67ff80874c8cc786c28ea52" }, "downloads": -1, "filename": "pyAesCrypt-0.4.tar.gz", "has_sig": false, "md5_digest": "34ce1a42bb78c6d7d030cf35c827b170", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13141, "upload_time": "2018-08-19T15:34:52", "url": "https://files.pythonhosted.org/packages/f7/de/b3b99c7d4cdc2a0998bf9eef8c7c07afe3067a082dcbc1b891a0c290b571/pyAesCrypt-0.4.tar.gz" } ], "0.4.1": [ { "comment_text": "", "digests": { "md5": "3b30dd3c7575d1da7e458083fe51b36b", "sha256": "840f35d67d1456b9b4c35ac5b33a276ba72072d880e7ed025de8cdeeb677cbc7" }, "downloads": -1, "filename": "pyAesCrypt-0.4.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3b30dd3c7575d1da7e458083fe51b36b", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13229, "upload_time": "2018-09-30T09:12:46", "url": "https://files.pythonhosted.org/packages/cd/61/f0d6092275520427bee9a087834f16b7281891ee5d3e111fabf1eb0bf7d2/pyAesCrypt-0.4.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "aa054a85f4b3524297f2d8a645b8a926", "sha256": "0a7c0c3abde677ce3b89111b38e9891c624d17fc9b651f01da8507737420ebfb" }, "downloads": -1, "filename": "pyAesCrypt-0.4.1.tar.gz", "has_sig": false, "md5_digest": "aa054a85f4b3524297f2d8a645b8a926", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13354, "upload_time": "2018-09-30T09:12:48", "url": "https://files.pythonhosted.org/packages/6c/7a/9ec644cae79146f44f1e918c885fdf92b28e7d6710d79ced09ccf3435047/pyAesCrypt-0.4.1.tar.gz" } ], "0.4.2": [ { "comment_text": "", "digests": { "md5": "9933cbb6d3d80de925f1d438f1e2471a", "sha256": "3c659b458f0ad654095664e5f069d9001049405d105fb5b9f310e5fbf62f7a38" }, "downloads": -1, "filename": "pyAesCrypt-0.4.2-py3-none-any.whl", "has_sig": false, "md5_digest": "9933cbb6d3d80de925f1d438f1e2471a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 13360, "upload_time": "2018-09-30T10:49:20", "url": "https://files.pythonhosted.org/packages/65/f4/eacfcc319fda64428cd985d6ccb2a7f130feeca3c2fcc1dd8822b3b7b414/pyAesCrypt-0.4.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "40797d8d53a18e702241bdc7c0784eec", "sha256": "24a8b9c48beb4780b92edfbc5d19b45b14b8a20981d525b2ef314b74a1bcd250" }, "downloads": -1, "filename": "pyAesCrypt-0.4.2.tar.gz", "has_sig": false, "md5_digest": "40797d8d53a18e702241bdc7c0784eec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13463, "upload_time": "2018-09-30T10:49:21", "url": "https://files.pythonhosted.org/packages/36/fa/d9c101ea99a5866e0aed626baf92203fbe6ee95846bb5171889ba497c088/pyAesCrypt-0.4.2.tar.gz" } ], "0.4.3": [ { "comment_text": "", "digests": { "md5": "cff4b8db5a31f861d40c956d2ab45ed2", "sha256": "d78ec4e0e777ee1abf9426b6690e19bbf69cccdfc708127a33100fb2130285f7" }, "downloads": -1, "filename": "pyAesCrypt-0.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "cff4b8db5a31f861d40c956d2ab45ed2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15372, "upload_time": "2019-04-28T09:42:11", "url": "https://files.pythonhosted.org/packages/c5/99/ebae89da08a443d0191eff631d66b71955eec7e370e2a309d85e499ca18a/pyAesCrypt-0.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "58d5d1ce70c64fa38cc6f1ea7a7020c0", "sha256": "2835f548bd659dfde6416facb36a472cafd837b81876b556246514e33d87a2b8" }, "downloads": -1, "filename": "pyAesCrypt-0.4.3.tar.gz", "has_sig": false, "md5_digest": "58d5d1ce70c64fa38cc6f1ea7a7020c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14325, "upload_time": "2019-04-28T09:42:14", "url": "https://files.pythonhosted.org/packages/fb/da/95bdf5c776e75db118a61c06fa7734e888bea9192000721224e8bde8095a/pyAesCrypt-0.4.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "cff4b8db5a31f861d40c956d2ab45ed2", "sha256": "d78ec4e0e777ee1abf9426b6690e19bbf69cccdfc708127a33100fb2130285f7" }, "downloads": -1, "filename": "pyAesCrypt-0.4.3-py3-none-any.whl", "has_sig": false, "md5_digest": "cff4b8db5a31f861d40c956d2ab45ed2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 15372, "upload_time": "2019-04-28T09:42:11", "url": "https://files.pythonhosted.org/packages/c5/99/ebae89da08a443d0191eff631d66b71955eec7e370e2a309d85e499ca18a/pyAesCrypt-0.4.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "58d5d1ce70c64fa38cc6f1ea7a7020c0", "sha256": "2835f548bd659dfde6416facb36a472cafd837b81876b556246514e33d87a2b8" }, "downloads": -1, "filename": "pyAesCrypt-0.4.3.tar.gz", "has_sig": false, "md5_digest": "58d5d1ce70c64fa38cc6f1ea7a7020c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14325, "upload_time": "2019-04-28T09:42:14", "url": "https://files.pythonhosted.org/packages/fb/da/95bdf5c776e75db118a61c06fa7734e888bea9192000721224e8bde8095a/pyAesCrypt-0.4.3.tar.gz" } ] }