{ "info": { "author": "Vingd, Inc.", "author_email": "developers@vingd.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Topic :: Internet", "Topic :: Software Development :: Libraries :: Python Modules" ], "description": "==========================\nEncryptedPickle for Python\n==========================\n\nEncryptedPickle is Python class for encrypting and signing data with support\nfor versions, serialization, compression, and passphrase generations (rotation).\n\nIt's partly inspired by `iron`_ but isn't compatible with.\n\n\nExample Usage\n=============\n\n.. code-block:: python\n\n from encryptedpickle import encryptedpickle\n\n passphrases = {\n 0: 'Change me! CHange me! CHAnge me! CHANge me!'\n 'CHANGe me! CHANGE ME! CHANGE Me! CHANGE ME!'\n }\n\n data = {'example': 123, 'test': 'testing'}\n\n encoder = encryptedpickle.EncryptedPickle(signature_passphrases=passphrases,\n encryption_passphrases=passphrases)\n\n print(\"* data: %s\" % data)\n\n sealed = encoder.seal(data)\n print(\"* sealed: %s\" % sealed)\n\n unsealed = encoder.unseal(sealed)\n print(\"* unsealed: %s\" % unsealed)\n\n\nCustomization Example\n=====================\n\n.. code-block:: python\n\n from encryptedpickle import encryptedpickle\n\n # You can use different passphrases for signature and encryption\n signature_passphrases = {\n 0: 'change me! change me! change me! change me!'\n 'change me! change me! change me! change me!'\n }\n\n encryption_passphrases = {\n 0: 'Change me! CHange me! CHAnge me! CHANge me!'\n 'CHANGe me! CHANGE ME! CHANGE Me! CHANGE ME!'\n }\n\n data = {'example': 123, 'test': 'testing'}\n\n encoder = encryptedpickle.EncryptedPickle(signature_passphrases,\n encryption_passphrases)\n\n encryption = {\n # Add new encryption algorithm specification with id = 255.\n # Default algorithms can not be overridden so we must use some other\n # id, maybe best starting with 255 (maximum id) and decreasing by one\n # for next added algorithm.\n 255: {\n # Algorithm name defined in EncryptedPickle.ALGORITHMS.\n 'algorithm': 'aes-256-cbc',\n\n # Salt size for PBKDF2 key.\n 'salt_size': 32,\n\n # Digest mode for PBKDF2 key.\n 'pbkdf2_algorithm': 'sha256',\n\n # Use 10 iterations in PBKDF2 key generation.\n 'pbkdf2_iterations': 10,\n },\n }\n encoder.set_algorithms(encryption=encryption)\n\n options = {\n # Use above defined encryption algorithm (id = 255).\n 'encryption_algorithm_id': 255,\n\n # Use \"gzip-deflate\" (id = 1) algorithm for compression.\n #\n # Be carefull with this option, because compression is applied before\n # encryption and \"Crime\" attack is possible if third party can modify\n # data that is encrypted. For more info see:\n #\n # https://www.isecpartners.com/news-events/news/2012/september/details-on-the-crime-attack.aspx\n #\n 'compression_algorithm_id': 1,\n\n # Add timestamp to header (unencrypted).\n 'flags': {\n 'timestamp': True,\n },\n }\n encoder.set_options(options)\n\n sealed = encoder.seal(data)\n print(\"* sealed: %s\" % sealed)\n\n unsealed, unsealed_options = encoder.unseal(sealed, return_options=True)\n print(\"* unsealed: %s\" % unsealed)\n if unsealed_options['info']['timestamp']:\n print(\"* timestamp: %d\" % unsealed_options['info']['timestamp'])\n\n\nCopyright and License\n=====================\n\nEncryptedPickle for Python is Copyright (c) 2013 Vingd, Inc. and licensed under\nthe MIT License.\n\n\n.. _`iron`: https://github.com/hueniverse/iron", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/vingd/encrypted-pickle-python", "keywords": null, "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "EncryptedPickle", "package_url": "https://pypi.org/project/EncryptedPickle/", "platform": "OS Independent", "project_url": "https://pypi.org/project/EncryptedPickle/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/vingd/encrypted-pickle-python" }, "release_url": "https://pypi.org/project/EncryptedPickle/0.1.4/", "requires_dist": null, "requires_python": null, "summary": "Class for pickling and encrypting data", "version": "0.1.4" }, "last_serial": 784209, "releases": { "0.1.3": [ { "comment_text": "", "digests": { "md5": "8f5e7c821d4ef510d244f3be785df4c3", "sha256": "e0a59a2f9356d10d874ce560a7a6a98d0ce9d7c48039638b8036a98e35a3bc5b" }, "downloads": -1, "filename": "EncryptedPickle-0.1.3.linux-x86_64.exe", "has_sig": false, "md5_digest": "8f5e7c821d4ef510d244f3be785df4c3", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 72393, "upload_time": "2013-02-08T10:20:24", "url": "https://files.pythonhosted.org/packages/d6/0f/2d5cdd0a36159fd82ec68a236a535ec534081681b7a397e91fd473480787/EncryptedPickle-0.1.3.linux-x86_64.exe" }, { "comment_text": "", "digests": { "md5": "182f733c3b761c1f1bcfe9fc1a53dd6a", "sha256": "30261bb48c26f6339302147053612d3b417a94f0b14a3e0d7e445f68fe0a98d8" }, "downloads": -1, "filename": "EncryptedPickle-0.1.3.tar.gz", "has_sig": false, "md5_digest": "182f733c3b761c1f1bcfe9fc1a53dd6a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7487, "upload_time": "2013-02-08T10:20:03", "url": "https://files.pythonhosted.org/packages/ed/7d/f6e40854d33e6db42463fe402312633b5ad87c454f96016dcc3010413a3c/EncryptedPickle-0.1.3.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "6404f0c2b9053defc0bdc9beab929a89", "sha256": "147ae5458ec0b5bd9f996a0dbbb05267defe26b7736f5e9a587246bab2ebcdd0" }, "downloads": -1, "filename": "EncryptedPickle-0.1.4.linux-x86_64.exe", "has_sig": false, "md5_digest": "6404f0c2b9053defc0bdc9beab929a89", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 72746, "upload_time": "2013-02-18T13:26:34", "url": "https://files.pythonhosted.org/packages/dc/ab/57195409ccf04267de4393056b7447466506f35ecd116b09cb038da8d43f/EncryptedPickle-0.1.4.linux-x86_64.exe" }, { "comment_text": "", "digests": { "md5": "9ad1b31aecef7c978c939d6f1d399f35", "sha256": "969464c4d6604d6b9fc15a6865df84d3fcb788c9f29bf984d0c8af9809bafc8c" }, "downloads": -1, "filename": "EncryptedPickle-0.1.4.tar.gz", "has_sig": false, "md5_digest": "9ad1b31aecef7c978c939d6f1d399f35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7608, "upload_time": "2013-02-18T13:26:28", "url": "https://files.pythonhosted.org/packages/53/68/31719327e2bc064bca2e69f923262f2b42c43aeef4869157a1f5218a0fb2/EncryptedPickle-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "6404f0c2b9053defc0bdc9beab929a89", "sha256": "147ae5458ec0b5bd9f996a0dbbb05267defe26b7736f5e9a587246bab2ebcdd0" }, "downloads": -1, "filename": "EncryptedPickle-0.1.4.linux-x86_64.exe", "has_sig": false, "md5_digest": "6404f0c2b9053defc0bdc9beab929a89", "packagetype": "bdist_wininst", "python_version": "any", "requires_python": null, "size": 72746, "upload_time": "2013-02-18T13:26:34", "url": "https://files.pythonhosted.org/packages/dc/ab/57195409ccf04267de4393056b7447466506f35ecd116b09cb038da8d43f/EncryptedPickle-0.1.4.linux-x86_64.exe" }, { "comment_text": "", "digests": { "md5": "9ad1b31aecef7c978c939d6f1d399f35", "sha256": "969464c4d6604d6b9fc15a6865df84d3fcb788c9f29bf984d0c8af9809bafc8c" }, "downloads": -1, "filename": "EncryptedPickle-0.1.4.tar.gz", "has_sig": false, "md5_digest": "9ad1b31aecef7c978c939d6f1d399f35", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7608, "upload_time": "2013-02-18T13:26:28", "url": "https://files.pythonhosted.org/packages/53/68/31719327e2bc064bca2e69f923262f2b42c43aeef4869157a1f5218a0fb2/EncryptedPickle-0.1.4.tar.gz" } ] }