{ "info": { "author": "Poolvos B.V.", "author_email": "info@poolvos.nl", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Web Environment", "Framework :: Django", "Framework :: Django :: 1.11", "Framework :: Django :: 2.1", "Framework :: Django :: 2.2", "Intended Audience :: Developers", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": "============================\nDjango NaCl Encrypted Fields\n============================\n\n|Build Status| |Docs Status|\n\n.. |Build Status| image:: https://img.shields.io/travis/poolvos/django-nacl-fields.svg?style=for-the-badge\n :target: https://travis-ci.org/poolvos/django-nacl-fields\n :alt: Build Status\n\n.. |Docs Status| image:: https://img.shields.io/readthedocs/django-nacl-fields/latest.svg?style=for-the-badge\n :target: https://django-nacl-fields.readthedocs.io/en/latest/\n :alt: Read the Docs (version)\n\nThis is a collection of Django Model Field classes that are encrypted using PyNaCl. This package is largely based on `django-encrypted-fields `_, which makes use of the outdated Keyczar library to encrypt fields. Besides that, it is inspired by `django-fernet-field `_.\n\n\nAbout PyNaCl\n------------\n\n`PyNaCl `_ is a Python binding to `libsodium `_, which is a fork of the `Networking and Cryptography library `_. These libraries have a stated goal of improving usability, security and speed.\n\n\nGetting Started\n----------------\n\n.. code:: shell\n\n\t~ pip install django-nacl-fields\n\n\nCreate a key to be used for encryption:\n\n.. code:: shell\n\n\t~ python manage.py createkey\n\t# put the following line in your settings.py:\n\tNACL_FIELDS_KEY = b'p1Et2Rb@;^BYdo`ZRFi!Hc-MXu(^|bVqA-FGqffM'\n\nIn your ``settings.py``:\n\n.. code:: python\n\n\tNACL_FIELDS_KEY = b'p1Et2Rb@;^BYdo`ZRFi!Hc-MXu(^|bVqA-FGqffM'\n\n\nThen, in your ``models.py``:\n\n.. code:: python\n\n\tfrom django.db import models\n\tfrom nacl_encrypted_fields import NaClTextField\n\n\n\tclass MyModel(models.Model):\n\t\ttext_field = NaClTextField()\n\n\nUse the model as you would normally and the data will be stored encrypted in the database.\n\n**Note:** Encrypted data cannot be used to query or sort. In SQL, these will all look like text fields with random text.\n\nIt is also possible to append the fields key to your settings file automatically upon creation, by using the ``-f`` flag:\n\n.. code:: shell\n\n\t~ python manage.py createkey -f settings.py\n\nWhere ``settings.py`` is the path to your settings file.\n\nAvailable Fields\n----------------\n\nCurrently build-in and unit-tested fields.\n\n- ``NaClCharField``\n- ``NaClTextField``\n- ``NaClDateTimeField``\n- ``NaClIntegerField``\n- ``NaClFloatField``\n- ``NaClEmailField``\n- ``NaClBooleanField``\n\n\nEncrypt Your Own Fields\n-----------------------\n\nMaking new fields can be done by using the provided ``NaClFieldMixin``:\n\n.. code:: python\n\n\tfrom django.db import models\n\tfrom nacl_encrypted_fields import NaClFieldMixin\n\n\tclass NaClIPAddressField(NaClFieldMixin, models.IPAddressField):\n\t\tpass\n\n\nPlease report any issues you encounter when trying this.\n\n\nReferences\n----------\n\n* https://github.com/defrex/django-encrypted-fields\n* https://github.com/orcasgit/django-fernet-fields", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/poolvos/django-nacl-fields", "keywords": "", "license": "Apache License", "maintainer": "", "maintainer_email": "", "name": "django-nacl-fields", "package_url": "https://pypi.org/project/django-nacl-fields/", "platform": "", "project_url": "https://pypi.org/project/django-nacl-fields/", "project_urls": { "Homepage": "https://github.com/poolvos/django-nacl-fields" }, "release_url": "https://pypi.org/project/django-nacl-fields/3.0.0/", "requires_dist": null, "requires_python": "", "summary": "This is a collection of Django Model Field classes that are encrypted using PyNaCl.", "version": "3.0.0" }, "last_serial": 5896089, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "08e6a5395a394b5152324649d6081ad8", "sha256": "aab38917c4a97eec702a7c0c8efe010cfbeea933720c3157511724f34339667a" }, "downloads": -1, "filename": "django_nacl_fields-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "08e6a5395a394b5152324649d6081ad8", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 12476, "upload_time": "2018-10-19T10:42:53", "url": "https://files.pythonhosted.org/packages/0f/96/861286dbc3833e45afb617f699f6de66cf6791664381cf7de58231606182/django_nacl_fields-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0c2f84e1b130d3d5c2740346926b4fde", "sha256": "bcae63e5fa014ddedef6823d1f9def39680310b41cf8afe340823a0eae5ff58f" }, "downloads": -1, "filename": "django_nacl_fields-1.0.0.tar.gz", "has_sig": false, "md5_digest": "0c2f84e1b130d3d5c2740346926b4fde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13625, "upload_time": "2018-10-19T10:42:55", "url": "https://files.pythonhosted.org/packages/1c/5e/19b1c168c9909c004adefa70ad10d742bf8f332b2c754a2ed9309660014c/django_nacl_fields-1.0.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "58943fed591909cf706f3c82362d3cde", "sha256": "8d48e837cf982f28698be9f5e457752a5e1d846c64d93405ba53ad708d8b9a13" }, "downloads": -1, "filename": "django-nacl-fields-1.0.1.tar.gz", "has_sig": false, "md5_digest": "58943fed591909cf706f3c82362d3cde", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 12862, "upload_time": "2018-10-23T10:09:19", "url": "https://files.pythonhosted.org/packages/32/e5/45339c6d4a23c9d3d6616a42fbdfe8ac8344d3b33e646ee260b3afd32a49/django-nacl-fields-1.0.1.tar.gz" } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "12596e9522b0cc66ae5bc209e1458bc2", "sha256": "ecff76434a0f55571b8cf8b6e50f65647346b358bd3e3c32d0cb3e75fa49a4f7" }, "downloads": -1, "filename": "django-nacl-fields-2.0.0.tar.gz", "has_sig": false, "md5_digest": "12596e9522b0cc66ae5bc209e1458bc2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13028, "upload_time": "2018-10-26T07:47:15", "url": "https://files.pythonhosted.org/packages/c8/e4/22716b4e61ce3498847de5b986c7e4226035c2f6dc156b2437bca50816f0/django-nacl-fields-2.0.0.tar.gz" } ], "3.0.0": [ { "comment_text": "", "digests": { "md5": "c8e32ae3e852db79f5740977ea4bae28", "sha256": "b596f3a8cecba4a809e9577289e1484229cab496dd52e81cff65a9b967b50774" }, "downloads": -1, "filename": "django-nacl-fields-3.0.0.tar.gz", "has_sig": false, "md5_digest": "c8e32ae3e852db79f5740977ea4bae28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13866, "upload_time": "2019-09-27T13:21:40", "url": "https://files.pythonhosted.org/packages/8c/00/580c285c0930406ec25196ffc234c03a41541e653d90da35f733b6891517/django-nacl-fields-3.0.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "c8e32ae3e852db79f5740977ea4bae28", "sha256": "b596f3a8cecba4a809e9577289e1484229cab496dd52e81cff65a9b967b50774" }, "downloads": -1, "filename": "django-nacl-fields-3.0.0.tar.gz", "has_sig": false, "md5_digest": "c8e32ae3e852db79f5740977ea4bae28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13866, "upload_time": "2019-09-27T13:21:40", "url": "https://files.pythonhosted.org/packages/8c/00/580c285c0930406ec25196ffc234c03a41541e653d90da35f733b6891517/django-nacl-fields-3.0.0.tar.gz" } ] }