# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2016, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-10-30 10:40+0100\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"

#: ../Doc/library/hashlib.rst:2
msgid ":mod:`hashlib` --- Secure hashes and message digests"
msgstr ""

#: ../Doc/library/hashlib.rst:10
msgid "**Source code:** :source:`Lib/hashlib.py`"
msgstr "**Code source :** :source:`Lib/hashlib.py`"

#: ../Doc/library/hashlib.rst:23
msgid ""
"This module implements a common interface to many different secure hash and "
"message digest algorithms.  Included are the FIPS secure hash algorithms "
"SHA1, SHA224, SHA256, SHA384, and SHA512 (defined in FIPS 180-2) as well as "
"RSA's MD5 algorithm (defined in Internet :rfc:`1321`).  The terms \"secure "
"hash\" and \"message digest\" are interchangeable.  Older algorithms were "
"called message digests.  The modern term is secure hash."
msgstr ""

#: ../Doc/library/hashlib.rst:32
msgid ""
"If you want the adler32 or crc32 hash functions, they are available in the :"
"mod:`zlib` module."
msgstr ""

#: ../Doc/library/hashlib.rst:37
msgid ""
"Some algorithms have known hash collision weaknesses, refer to the \"See also"
"\" section at the end."
msgstr ""

#: ../Doc/library/hashlib.rst:44
msgid "Hash algorithms"
msgstr ""

#: ../Doc/library/hashlib.rst:46
msgid ""
"There is one constructor method named for each type of :dfn:`hash`.  All "
"return a hash object with the same simple interface. For example: use :func:"
"`sha256` to create a SHA-256 hash object. You can now feed this object with :"
"term:`bytes-like objects <bytes-like object>` (normally :class:`bytes`) "
"using the :meth:`update` method. At any point you can ask it for the :dfn:"
"`digest` of the concatenation of the data fed to it so far using the :meth:"
"`digest` or :meth:`hexdigest` methods."
msgstr ""

#: ../Doc/library/hashlib.rst:56
msgid ""
"For better multithreading performance, the Python :term:`GIL` is released "
"for data larger than 2047 bytes at object creation or on update."
msgstr ""

#: ../Doc/library/hashlib.rst:61
msgid ""
"Feeding string objects into :meth:`update` is not supported, as hashes work "
"on bytes, not on characters."
msgstr ""

#: ../Doc/library/hashlib.rst:66
msgid ""
"Constructors for hash algorithms that are always present in this module are :"
"func:`sha1`, :func:`sha224`, :func:`sha256`, :func:`sha384`, :func:"
"`sha512`, :func:`blake2b`, and :func:`blake2s`. :func:`md5` is normally "
"available as well, though it may be missing if you are using a rare \"FIPS "
"compliant\" build of Python. Additional algorithms may also be available "
"depending upon the OpenSSL library that Python uses on your platform. On "
"most platforms the :func:`sha3_224`, :func:`sha3_256`, :func:`sha3_384`, :"
"func:`sha3_512`, :func:`shake_128`, :func:`shake_256` are also available."
msgstr ""

#: ../Doc/library/hashlib.rst:76
msgid ""
"SHA3 (Keccak) and SHAKE constructors :func:`sha3_224`, :func:`sha3_256`, :"
"func:`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:`shake_256`."
msgstr ""

#: ../Doc/library/hashlib.rst:80
msgid ":func:`blake2b` and :func:`blake2s` were added."
msgstr ""

#: ../Doc/library/hashlib.rst:83
msgid ""
"For example, to obtain the digest of the byte string ``b'Nobody inspects the "
"spammish repetition'``::"
msgstr ""

#: ../Doc/library/hashlib.rst:97
msgid "More condensed:"
msgstr ""

#: ../Doc/library/hashlib.rst:104
msgid ""
"Is a generic constructor that takes the string name of the desired algorithm "
"as its first parameter.  It also exists to allow access to the above listed "
"hashes as well as any other algorithms that your OpenSSL library may offer.  "
"The named constructors are much faster than :func:`new` and should be "
"preferred."
msgstr ""

#: ../Doc/library/hashlib.rst:110
msgid "Using :func:`new` with an algorithm provided by OpenSSL:"
msgstr ""

#: ../Doc/library/hashlib.rst:117
msgid "Hashlib provides the following constant attributes:"
msgstr ""

#: ../Doc/library/hashlib.rst:121
msgid ""
"A set containing the names of the hash algorithms guaranteed to be supported "
"by this module on all platforms.  Note that 'md5' is in this list despite "
"some upstream vendors offering an odd \"FIPS compliant\" Python build that "
"excludes it."
msgstr ""

#: ../Doc/library/hashlib.rst:130
msgid ""
"A set containing the names of the hash algorithms that are available in the "
"running Python interpreter.  These names will be recognized when passed to :"
"func:`new`.  :attr:`algorithms_guaranteed` will always be a subset.  The "
"same algorithm may appear multiple times in this set under different names "
"(thanks to OpenSSL)."
msgstr ""

#: ../Doc/library/hashlib.rst:138
msgid ""
"The following values are provided as constant attributes of the hash objects "
"returned by the constructors:"
msgstr ""

#: ../Doc/library/hashlib.rst:144
msgid "The size of the resulting hash in bytes."
msgstr ""

#: ../Doc/library/hashlib.rst:148
msgid "The internal block size of the hash algorithm in bytes."
msgstr ""

#: ../Doc/library/hashlib.rst:150
msgid "A hash object has the following attributes:"
msgstr ""

#: ../Doc/library/hashlib.rst:154
msgid ""
"The canonical name of this hash, always lowercase and always suitable as a "
"parameter to :func:`new` to create another hash of this type."
msgstr ""

#: ../Doc/library/hashlib.rst:157
msgid ""
"The name attribute has been present in CPython since its inception, but "
"until Python 3.4 was not formally specified, so may not exist on some "
"platforms."
msgstr ""

#: ../Doc/library/hashlib.rst:162
msgid "A hash object has the following methods:"
msgstr ""

#: ../Doc/library/hashlib.rst:167
msgid ""
"Update the hash object with the object *arg*, which must be interpretable as "
"a buffer of bytes.  Repeated calls are equivalent to a single call with the "
"concatenation of all the arguments: ``m.update(a); m.update(b)`` is "
"equivalent to ``m.update(a+b)``."
msgstr ""

#: ../Doc/library/hashlib.rst:172
msgid ""
"The Python GIL is released to allow other threads to run while hash updates "
"on data larger than 2047 bytes is taking place when using hash algorithms "
"supplied by OpenSSL."
msgstr ""

#: ../Doc/library/hashlib.rst:180
msgid ""
"Return the digest of the data passed to the :meth:`update` method so far. "
"This is a bytes object of size :attr:`digest_size` which may contain bytes "
"in the whole range from 0 to 255."
msgstr ""

#: ../Doc/library/hashlib.rst:187 ../Doc/library/hashlib.rst:215
msgid ""
"Like :meth:`digest` except the digest is returned as a string object of "
"double length, containing only hexadecimal digits.  This may be used to "
"exchange the value safely in email or other non-binary environments."
msgstr ""

#: ../Doc/library/hashlib.rst:194
msgid ""
"Return a copy (\"clone\") of the hash object.  This can be used to "
"efficiently compute the digests of data sharing a common initial substring."
msgstr ""

#: ../Doc/library/hashlib.rst:199
msgid "SHAKE variable length digests"
msgstr ""

#: ../Doc/library/hashlib.rst:201
msgid ""
"The :func:`shake_128` and :func:`shake_256` algorithms provide variable "
"length digests with length_in_bits//2 up to 128 or 256 bits of security. As "
"such, their digest methods require a length. Maximum length is not limited "
"by the SHAKE algorithm."
msgstr ""

#: ../Doc/library/hashlib.rst:208
msgid ""
"Return the digest of the data passed to the :meth:`update` method so far. "
"This is a bytes object of size ``length`` which may contain bytes in the "
"whole range from 0 to 255."
msgstr ""

#: ../Doc/library/hashlib.rst:221
msgid "Key derivation"
msgstr ""

#: ../Doc/library/hashlib.rst:223
msgid ""
"Key derivation and key stretching algorithms are designed for secure "
"password hashing. Naive algorithms such as ``sha1(password)`` are not "
"resistant against brute-force attacks. A good password hashing function must "
"be tunable, slow, and include a `salt <https://en.wikipedia.org/wiki/Salt_"
"%28cryptography%29>`_."
msgstr ""

#: ../Doc/library/hashlib.rst:231
msgid ""
"The function provides PKCS#5 password-based key derivation function 2. It "
"uses HMAC as pseudorandom function."
msgstr ""

#: ../Doc/library/hashlib.rst:234
msgid ""
"The string *hash_name* is the desired name of the hash digest algorithm for "
"HMAC, e.g. 'sha1' or 'sha256'. *password* and *salt* are interpreted as "
"buffers of bytes. Applications and libraries should limit *password* to a "
"sensible length (e.g. 1024). *salt* should be about 16 or more bytes from a "
"proper source, e.g. :func:`os.urandom`."
msgstr ""

#: ../Doc/library/hashlib.rst:240
msgid ""
"The number of *iterations* should be chosen based on the hash algorithm and "
"computing power. As of 2013, at least 100,000 iterations of SHA-256 are "
"suggested."
msgstr ""

#: ../Doc/library/hashlib.rst:244
msgid ""
"*dklen* is the length of the derived key. If *dklen* is ``None`` then the "
"digest size of the hash algorithm *hash_name* is used, e.g. 64 for SHA-512."
msgstr ""

#: ../Doc/library/hashlib.rst:256
msgid ""
"A fast implementation of *pbkdf2_hmac* is available with OpenSSL.  The "
"Python implementation uses an inline version of :mod:`hmac`. It is about "
"three times slower and doesn't release the GIL."
msgstr ""

#: ../Doc/library/hashlib.rst:262
msgid ""
"The function provides scrypt password-based key derivation function as "
"defined in :rfc:`7914`."
msgstr ""

#: ../Doc/library/hashlib.rst:265
msgid ""
"*password* and *salt* must be bytes-like objects. Applications and libraries "
"should limit *password* to a sensible length (e.g. 1024). *salt* should be "
"about 16 or more bytes from a proper source, e.g. :func:`os.urandom`."
msgstr ""

#: ../Doc/library/hashlib.rst:269
msgid ""
"*n* is the CPU/Memory cost factor, *r* the block size, *p* parallelization "
"factor and *maxmem* limits memory (OpenSSL 1.1.0 defaults to 32 MB). *dklen* "
"is the length of the derived key."
msgstr ""

#: ../Doc/library/hashlib.rst:273
msgid "Availability: OpenSSL 1.1+"
msgstr ""

#: ../Doc/library/hashlib.rst:279
msgid "BLAKE2"
msgstr ""

#: ../Doc/library/hashlib.rst:281
msgid "BLAKE2 takes additional arguments, see :ref:`hashlib-blake2`."
msgstr ""

#: ../Doc/library/hashlib.rst:287
msgid "Module :mod:`hmac`"
msgstr ""

#: ../Doc/library/hashlib.rst:287
msgid "A module to generate message authentication codes using hashes."
msgstr ""

#: ../Doc/library/hashlib.rst:290
msgid "Module :mod:`base64`"
msgstr "Module :mod:`base64`"

#: ../Doc/library/hashlib.rst:290
msgid "Another way to encode binary hashes for non-binary environments."
msgstr ""

#: ../Doc/library/hashlib.rst:292
msgid "See :ref:`hashlib-blake2`."
msgstr ""

#: ../Doc/library/hashlib.rst:295
msgid "http://csrc.nist.gov/publications/fips/fips180-2/fips180-2.pdf"
msgstr ""

#: ../Doc/library/hashlib.rst:295
msgid "The FIPS 180-2 publication on Secure Hash Algorithms."
msgstr ""

#: ../Doc/library/hashlib.rst:299
msgid ""
"https://en.wikipedia.org/wiki/"
"Cryptographic_hash_function#Cryptographic_hash_algorithms"
msgstr ""

#: ../Doc/library/hashlib.rst:298
msgid ""
"Wikipedia article with information on which algorithms have known issues and "
"what that means regarding their use."
msgstr ""

#: ../Doc/library/hashlib.rst:301
msgid "https://www.ietf.org/rfc/rfc2898.txt"
msgstr ""

#: ../Doc/library/hashlib.rst:302
msgid "PKCS #5: Password-Based Cryptography Specification Version 2.0"
msgstr ""
