Frequently asked questions ========================== How does ``cryptography`` compare to NaCl (Networking and Cryptography Library)? -------------------------------------------------------------------------------- While ``cryptography`` and `NaCl`_ both share the goal of making cryptography easier, and safer, to use for developers, ``cryptography`` is designed to be a general purpose library, interoperable with existing systems, while NaCl features a collection of hand selected algorithms. ``cryptography``'s :ref:`recipes ` layer has similar goals to NaCl. If you prefer NaCl's design, we highly recommend `PyNaCl`_. When I try to use ``cryptography`` on Windows I get a ``cffi.ffiplatform.VerificationError`` -------------------------------------------------------------------------------------------- This error looks something like: .. code-block:: console cffi.ffiplatform.VerificationError: importing '.pyd': DLL load failed: It typically occurs on Windows when you have not installed OpenSSL. Download a `pre-compiled binary`_ to resolve the issue. To select the right architecture (32-bit or 64-bit) open a command prompt and start your Python interpreter. If it is 32-bit it will say ``32 bit`` as well as ``Intel`` in the output: .. code-block:: console Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win32 If it is 64-bit you will see ``64 bit`` as well as ``AMD64``: .. code-block:: console Python 2.7.6 (default, Nov 10 2013, 19:24:24) [MSC v.1500 64 bit (AMD64)] on win32 Note that for both 32-bit and 64-bit it will say ``win32``, but other data in the string may vary based on your version of Python. .. _`NaCl`: http://nacl.cr.yp.to/ .. _`PyNaCl`: https://pynacl.readthedocs.org .. _`pre-compiled binary`: https://www.openssl.org/related/binaries.html