Skip to content

Commit 2a3a7ee

Browse files
mattwang44beccalzh
andauthoredAug 27, 2024··
Translate library/hashlib.po (#510)
Co-authored-by: Becca <61359625+beccalzh@users.noreply.github.com>
1 parent 492d224 commit 2a3a7ee

File tree

1 file changed

+265
-74
lines changed

1 file changed

+265
-74
lines changed
 

Diff for: ‎library/hashlib.po

+265-74
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,23 @@
1-
# SOME DESCRIPTIVE TITLE.
2-
# Copyright (C) 2001-2022, Python Software Foundation
1+
# Copyright (C) 2001-2024, Python Software Foundation
32
# This file is distributed under the same license as the Python package.
43
#
54
# Translators:
5+
# Matt Wang <mattwang44@gmail.com>, 2024
66
msgid ""
77
msgstr ""
88
"Project-Id-Version: Python 3.12\n"
99
"Report-Msgid-Bugs-To: \n"
1010
"POT-Creation-Date: 2024-05-23 00:03+0000\n"
11-
"PO-Revision-Date: 2018-05-23 16:03+0000\n"
12-
"Last-Translator: Adrian Liaw <adrianliaw2000@gmail.com>\n"
11+
"PO-Revision-Date: 2024-05-11 16:03+0800\n"
12+
"Last-Translator: Matt Wang <mattwang44@gmail.com>\n"
1313
"Language-Team: Chinese - TAIWAN (https://github.com/python/python-docs-zh-"
1414
"tw)\n"
1515
"Language: zh_TW\n"
1616
"MIME-Version: 1.0\n"
1717
"Content-Type: text/plain; charset=UTF-8\n"
1818
"Content-Transfer-Encoding: 8bit\n"
1919
"Plural-Forms: nplurals=1; plural=0;\n"
20+
"X-Generator: Poedit 3.3.2\n"
2021

2122
#: ../../library/hashlib.rst:2
2223
msgid ":mod:`!hashlib` --- Secure hashes and message digests"
@@ -36,12 +37,19 @@ msgid ""
3637
"\"secure hash\" and \"message digest\" are interchangeable. Older "
3738
"algorithms were called message digests. The modern term is secure hash."
3839
msgstr ""
40+
"該模組實作了許多不同安全雜湊和訊息摘要演算法的通用介面,其中包括 FIPS 安全雜"
41+
"湊演算法 SHA1、SHA224、SHA256、SHA384、SHA512(定義於 `FIPS 180-4 標準 <the "
42+
"FIPS 180-4 standard_>`_)、SHA-3 系列(定義於 `FIPS 202 標準 <the FIPS 202 "
43+
"standard_>`_)以及 RSA 的 MD5 演算法(定義於網際網路 :rfc:`1321`)。「安全雜"
44+
"湊 (secure hash)」和「訊息摘要 (message digest)」這兩個術語是可以互換的。較舊"
45+
"的演算法稱為訊息摘要、現代則較常稱之安全雜湊。"
3946

4047
#: ../../library/hashlib.rst:33
4148
msgid ""
4249
"If you want the adler32 or crc32 hash functions, they are available in the :"
4350
"mod:`zlib` module."
4451
msgstr ""
52+
"如果你需要 adler32 或 crc32 雜湊函式,可以在 :mod:`zlib` 模組中找到它們。"
4553

4654
#: ../../library/hashlib.rst:40
4755
msgid "Hash algorithms"
@@ -58,13 +66,23 @@ msgid ""
5866
"using the :meth:`digest()<hash.digest>` or :meth:`hexdigest()<hash."
5967
"hexdigest>` methods."
6068
msgstr ""
69+
"每種種類的 :dfn:`hash` 都有一個以其命名的建構函式方法。全部都會回傳具有相同簡"
70+
"單介面的雜湊物件。例如:可使用 :func:`sha256` 來建立 SHA-256 雜湊物件。現在你"
71+
"可以使用 :meth:`update <hash.update>` 方法向此物件提供\\ :term:`類位元組物件 "
72+
"(bytes-like objects) <bytes-like object>`\\ (通常是 :class:`bytes`)。在任何"
73+
"時候,你都可以使用 :meth:`digest() <hash.digest>` 或 :meth:`hexdigest() "
74+
"<hash.hexdigest>` 方法來要求它提供迄今為止傳遞給它的資料串聯的\\ :dfn:`摘要 "
75+
"(digest)`。"
6176

6277
#: ../../library/hashlib.rst:50
6378
msgid ""
6479
"To allow multithreading, the Python :term:`GIL` is released while computing "
6580
"a hash supplied more than 2047 bytes of data at once in its constructor or :"
6681
"meth:`.update<hash.update>` method."
6782
msgstr ""
83+
"為了允許多執行緒 (multithreading),Python :term:`GIL` 被釋放,同時在其建構函"
84+
"式或 :meth:`.update<hash.update>` 方法中計算一次提供超過 2047 位元組資料的雜"
85+
"湊值。"
6886

6987
#: ../../library/hashlib.rst:57
7088
msgid ""
@@ -76,6 +94,12 @@ msgid ""
7694
"missing or blocked if you are using a rare \"FIPS compliant\" build of "
7795
"Python. These correspond to :data:`algorithms_guaranteed`."
7896
msgstr ""
97+
"此模組中始終存在的雜湊演算法之建構函式有 :func:`sha1`、:func:`sha224`、:func:"
98+
"`sha256`、:func:`sha384`、:func:`sha512`、:func:`sha3_224`、:func:"
99+
"`sha3_256`、:func:`sha3_384`、:func:`sha3_512`、:func:`shake_128`、:func:"
100+
"`shake_256`、:func:`blake2b` 和 :func:`blake2s`。:func:`md5` 通常也可用,但如"
101+
"果你使用罕見的「符合 FIPS (FIPS compliant)」的 Python 建置版本,它可能不存在"
102+
"或者不被允許使用。以上會對應到 :data:`algorithms_guaranteed`。"
79103

80104
#: ../../library/hashlib.rst:65
81105
msgid ""
@@ -84,20 +108,29 @@ msgid ""
84108
"Others *are not guaranteed available* on all installations and will only be "
85109
"accessible by name via :func:`new`. See :data:`algorithms_available`."
86110
msgstr ""
111+
"如果你的 Python 發行版的 :mod:`hashlib` 與提供其他演算法的 OpenSSL 版本鏈結,"
112+
"也可能有其他演算法可用。其他則\\ *不保證可用*\\ 於在所有安裝上,並且只能以名"
113+
"稱來透過 :func:`new` 存取。請參閱 :data:`algorithms_available`。"
87114

88115
#: ../../library/hashlib.rst:72
89116
msgid ""
90117
"Some algorithms have known hash collision weaknesses (including MD5 and "
91118
"SHA1). Refer to `Attacks on cryptographic hash algorithms`_ and the `hashlib-"
92119
"seealso`_ section at the end of this document."
93120
msgstr ""
121+
"某些演算法具有已知的雜湊碰撞 (hash collision) 弱點(包括 MD5 和 SHA1)。請參"
122+
"閱 `Attacks on cryptographic hash algorithms`_ 和本文件後面的\\ `也參考 "
123+
"<hashlib-seealso_>`_\\ 部分。"
94124

95125
#: ../../library/hashlib.rst:76
96126
msgid ""
97127
"SHA3 (Keccak) and SHAKE constructors :func:`sha3_224`, :func:`sha3_256`, :"
98128
"func:`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:`shake_256` were "
99129
"added. :func:`blake2b` and :func:`blake2s` were added."
100130
msgstr ""
131+
"新增了 SHA3 (Keccak) 和 SHAKE 建構函式 :func:`sha3_224`、:func:`sha3_256`、:"
132+
"func:`sha3_384`、:func:`sha3_512`、:func:`shake_128`、:func:`shake_256`。也新"
133+
"增了 :func:`blake2b` 和 :func:`blake2s`。"
101134

102135
#: ../../library/hashlib.rst:84
103136
msgid ""
@@ -107,17 +140,23 @@ msgid ""
107140
"hashing algorithm is not used in a security context, e.g. as a non-"
108141
"cryptographic one-way compression function."
109142
msgstr ""
143+
"所有 hashlib 建構函式都採用一個僅限關鍵字引數 (keyword-only argument) "
144+
"*usedforsecurity*,其預設值為 ``True``。False 值則會允許在受限環境中使用不安"
145+
"全 (insecure) 和阻塞的 (blocked) 雜湊演算法。``False`` 表示雜湊演算法未在安全"
146+
"情境中使用,例如作為一種非加密用途的單向壓縮函式。"
110147

111148
#: ../../library/hashlib.rst:91
112149
msgid "Hashlib now uses SHA3 and SHAKE from OpenSSL if it provides it."
113-
msgstr ""
150+
msgstr "Hashlib 現在使用 OpenSSL 中的 SHA3 和 SHAKE(如果有提供的話)。"
114151

115152
#: ../../library/hashlib.rst:94
116153
msgid ""
117154
"For any of the MD5, SHA1, SHA2, or SHA3 algorithms that the linked OpenSSL "
118155
"does not provide we fall back to a verified implementation from the `HACL\\* "
119156
"project`_."
120157
msgstr ""
158+
"對於鏈結之 OpenSSL 未提供的任何 MD5、SHA1、SHA2 或 SHA3 演算法,我們會回退使"
159+
"用 `HACL\\* 專案 <HACL\\* project_>`_\\ 中經過驗證的實作。"
121160

122161
#: ../../library/hashlib.rst:100
123162
msgid "Usage"
@@ -128,10 +167,11 @@ msgid ""
128167
"To obtain the digest of the byte string ``b\"Nobody inspects the spammish "
129168
"repetition\"``::"
130169
msgstr ""
170+
"獲取位元組字串 ``b\"Nobody inspects the spammish repetition\"`` 的摘要: ::"
131171

132172
#: ../../library/hashlib.rst:114
133173
msgid "More condensed:"
134-
msgstr ""
174+
msgstr "更濃縮:"
135175

136176
#: ../../library/hashlib.rst:120
137177
msgid "Constructors"
@@ -144,24 +184,26 @@ msgid ""
144184
"above listed hashes as well as any other algorithms that your OpenSSL "
145185
"library may offer."
146186
msgstr ""
187+
"是一個通用建構函式,它將目標演算法的字串 *name* 作為其第一個參數。它還允許使"
188+
"用者取得上面列出的雜湊值以及 OpenSSL 函式庫可能提供的任何其他演算法。"
147189

148190
#: ../../library/hashlib.rst:129
149191
msgid "Using :func:`new` with an algorithm name:"
150-
msgstr ""
192+
msgstr "使用 :func:`new` 和演算法名稱:"
151193

152194
#: ../../library/hashlib.rst:148
153195
msgid ""
154196
"Named constructors such as these are faster than passing an algorithm name "
155197
"to :func:`new`."
156-
msgstr ""
198+
msgstr "諸如此類的附名建構函式比將演算法名稱傳遞給 :func:`new` 更快。"
157199

158200
#: ../../library/hashlib.rst:152
159201
msgid "Attributes"
160-
msgstr ""
202+
msgstr "屬性"
161203

162204
#: ../../library/hashlib.rst:154
163205
msgid "Hashlib provides the following constant module attributes:"
164-
msgstr ""
206+
msgstr "Hashlib 提供以下常數模組屬性:"
165207

166208
#: ../../library/hashlib.rst:158
167209
msgid ""
@@ -170,6 +212,9 @@ msgid ""
170212
"some upstream vendors offering an odd \"FIPS compliant\" Python build that "
171213
"excludes it."
172214
msgstr ""
215+
"包含所有平台上該模組保證支援的雜湊演算法名稱的集合。請注意,'md5' 有出現在此"
216+
"列表中,儘管有一些上游供應商提供了奇怪的「符合 FIPS (FIPS compliant)」的 "
217+
"Python 建置,並將其排除在外。"
173218

174219
#: ../../library/hashlib.rst:167
175220
msgid ""
@@ -179,76 +224,92 @@ msgid ""
179224
"same algorithm may appear multiple times in this set under different names "
180225
"(thanks to OpenSSL)."
181226
msgstr ""
227+
"包含正在運行的 Python 直譯器中可用的雜湊演算法名稱的集合。這些名稱在傳遞給 :"
228+
"func:`new` 時將被識別。:attr:`algorithms_guaranteed` 都會是它的一個子集。相同"
229+
"的演算法可能會以不同的名稱多次出現在該集合中(多虧了 OpenSSL)。"
182230

183231
#: ../../library/hashlib.rst:176
184232
msgid "Hash Objects"
185-
msgstr ""
233+
msgstr "雜湊物件"
186234

187235
#: ../../library/hashlib.rst:178
188236
msgid ""
189237
"The following values are provided as constant attributes of the hash objects "
190238
"returned by the constructors:"
191-
msgstr ""
239+
msgstr "以下的值皆為建構函式回傳之雜湊物件的常數屬性:"
192240

193241
#: ../../library/hashlib.rst:183
194242
msgid "The size of the resulting hash in bytes."
195-
msgstr ""
243+
msgstr "生成雜湊的大小(以位元組為單位)。"
196244

197245
#: ../../library/hashlib.rst:187
198246
msgid "The internal block size of the hash algorithm in bytes."
199-
msgstr ""
247+
msgstr "雜湊演算法的內部區塊大小(以位元組為單位)。"
200248

201249
#: ../../library/hashlib.rst:189
202250
msgid "A hash object has the following attributes:"
203-
msgstr ""
251+
msgstr "雜湊物件具有以下屬性:"
204252

205253
#: ../../library/hashlib.rst:193
206254
msgid ""
207255
"The canonical name of this hash, always lowercase and always suitable as a "
208256
"parameter to :func:`new` to create another hash of this type."
209257
msgstr ""
258+
"該雜湊的規範名稱,都會是小寫,且都會適合作為 :func:`new` 的參數以建立此型別的"
259+
"另一個雜湊。"
210260

211261
#: ../../library/hashlib.rst:196
212262
msgid ""
213263
"The name attribute has been present in CPython since its inception, but "
214264
"until Python 3.4 was not formally specified, so may not exist on some "
215265
"platforms."
216266
msgstr ""
267+
"name 屬性自 CPython 誕生以來就存在於其中,但直到 Python 3.4 才正式確立,因此"
268+
"在某些平台上可能不存在。"
217269

218270
#: ../../library/hashlib.rst:201
219271
msgid "A hash object has the following methods:"
220-
msgstr ""
272+
msgstr "雜湊物件具有以下方法:"
221273

222274
#: ../../library/hashlib.rst:206
223275
msgid ""
224276
"Update the hash object with the :term:`bytes-like object`. Repeated calls "
225277
"are equivalent to a single call with the concatenation of all the arguments: "
226278
"``m.update(a); m.update(b)`` is equivalent to ``m.update(a+b)``."
227279
msgstr ""
280+
"使用\\ :term:`類位元組物件 <bytes-like object>`\\ 來更新雜湊物件。重複呼叫相"
281+
"當於連接所有引數的單一呼叫:``m.update(a); m.update(b)`` 等價於 ``m."
282+
"update(a+b)``。"
228283

229284
#: ../../library/hashlib.rst:214
230285
msgid ""
231286
"Return the digest of the data passed to the :meth:`update` method so far. "
232287
"This is a bytes object of size :attr:`digest_size` which may contain bytes "
233288
"in the whole range from 0 to 255."
234289
msgstr ""
290+
"回傳目前有傳遞給 :meth:`update` 方法的資料之摘要。這是一個大小為 :attr:"
291+
"`digest_size` 的位元組物件,它可能包含從 0 到 255 的整個範圍內的位元組。"
235292

236293
#: ../../library/hashlib.rst:221
237294
msgid ""
238295
"Like :meth:`digest` except the digest is returned as a string object of "
239296
"double length, containing only hexadecimal digits. This may be used to "
240297
"exchange the value safely in email or other non-binary environments."
241298
msgstr ""
299+
"與 :meth:`digest` 類似,只不過摘要會是作為雙倍長度的字串物件回傳,僅包含十六"
300+
"進位數字。這可用於在電子郵件或其他非二進位環境中安全地交換值。"
242301

243302
#: ../../library/hashlib.rst:228
244303
msgid ""
245304
"Return a copy (\"clone\") of the hash object. This can be used to "
246305
"efficiently compute the digests of data sharing a common initial substring."
247306
msgstr ""
307+
"回傳雜湊物件的副本(「複製 (clone)」),這可用於高效率地計算出共享同一初始子"
308+
"字串的資料之摘要。"
248309

249310
#: ../../library/hashlib.rst:233
250311
msgid "SHAKE variable length digests"
251-
msgstr ""
312+
msgstr "SHAKE 可變長度摘要"
252313

253314
#: ../../library/hashlib.rst:238
254315
msgid ""
@@ -257,39 +318,48 @@ msgid ""
257318
"such, their digest methods require a length. Maximum length is not limited "
258319
"by the SHAKE algorithm."
259320
msgstr ""
321+
":func:`shake_128` 和 :func:`shake_256` 演算法提供了可變長度摘要,其 "
322+
"length_in_bits//2 最高為 128 或 256 位元安全性。因此,他們的摘要方法會需要長"
323+
"度。最大長度不受 SHAKE 演算法限制。"
260324

261325
#: ../../library/hashlib.rst:245
262326
msgid ""
263327
"Return the digest of the data passed to the :meth:`~hash.update` method so "
264328
"far. This is a bytes object of size *length* which may contain bytes in the "
265329
"whole range from 0 to 255."
266330
msgstr ""
331+
"回傳目前有傳遞給 :meth:`~hash.update` 方法的資料之摘要。這是一個大小為 "
332+
"*length* 的位元組物件,可能包含從 0 到 255 的整個範圍內的位元組。"
267333

268334
#: ../../library/hashlib.rst:252
269335
msgid ""
270336
"Like :meth:`digest` except the digest is returned as a string object of "
271337
"double length, containing only hexadecimal digits. This may be used to "
272338
"exchange the value in email or other non-binary environments."
273339
msgstr ""
340+
"與 :meth:`digest` 類似,只不過摘要作為雙倍長度的字串物件回傳,僅包含十六進位"
341+
"數字。這可用於交換電子郵件或其他非二進位環境中的值。"
274342

275343
#: ../../library/hashlib.rst:256
276344
msgid "Example use:"
277345
msgstr "範例:"
278346

279347
#: ../../library/hashlib.rst:263
280348
msgid "File hashing"
281-
msgstr ""
349+
msgstr "檔案雜湊"
282350

283351
#: ../../library/hashlib.rst:265
284352
msgid ""
285353
"The hashlib module provides a helper function for efficient hashing of a "
286354
"file or file-like object."
287355
msgstr ""
356+
"hashlib 模組提供了一個輔助函式,用於對檔案或類檔案物件 (file-like object) 進"
357+
"行有效率的雜湊。"
288358

289359
#: ../../library/hashlib.rst:270
290360
msgid ""
291361
"Return a digest object that has been updated with contents of file object."
292-
msgstr ""
362+
msgstr "回傳已用檔案物件內容更新的摘要物件。"
293363

294364
#: ../../library/hashlib.rst:272
295365
msgid ""
@@ -301,20 +371,27 @@ msgid ""
301371
"an unknown state after this function returns or raises. It is up to the "
302372
"caller to close *fileobj*."
303373
msgstr ""
374+
"*fileobj* 必須是以二進位模式讀取的類檔案物件。它接受來自內建 :func:`open` 的"
375+
"檔案物件、:class:`~io.BytesIO` 實例、來自 :meth:`socket.socket.makefile` 的 "
376+
"SocketIO 物件等。該函式可以繞過 Python 的 I/O 並直接使用 :meth:`~io.IOBase."
377+
"fileno` 中的檔案描述器 (file descriptor)。在此函式回傳或引發後,必須假定 "
378+
"*fileobj* 處於未知狀態 (unknown state)。由呼叫者決定是否關閉 *fileobj*。"
304379

305380
#: ../../library/hashlib.rst:280
306381
msgid ""
307382
"*digest* must either be a hash algorithm name as a *str*, a hash "
308383
"constructor, or a callable that returns a hash object."
309384
msgstr ""
385+
"*digest* 必須是名稱作為 *str* 的雜湊演算法、雜湊建構函式或會回傳雜湊物件的可"
386+
"呼叫函式。"
310387

311388
#: ../../library/hashlib.rst:283
312389
msgid "Example:"
313390
msgstr "範例:"
314391

315392
#: ../../library/hashlib.rst:306
316393
msgid "Key derivation"
317-
msgstr ""
394+
msgstr "密鑰的生成"
318395

319396
#: ../../library/hashlib.rst:308
320397
msgid ""
@@ -324,12 +401,18 @@ msgid ""
324401
"be tunable, slow, and include a `salt <https://en.wikipedia.org/wiki/"
325402
"Salt_%28cryptography%29>`_."
326403
msgstr ""
404+
"密鑰生成 (key derivation) 和密鑰延伸 (key stretching) 演算法專為安全密碼雜湊"
405+
"而設計。像是 ``sha1(password)`` 這樣過於單純的演算法無法抵抗暴力攻擊。一個好"
406+
"的密碼雜湊函式必須是可調校的 (tunable)、緩慢的,並且有包含 `salt(鹽) "
407+
"<https://zh.wikipedia.org/zh-tw/%E7%9B%90_(%E5%AF%86%E7%A0%81%E5%AD%A6)>`_。"
327408

328409
#: ../../library/hashlib.rst:316
329410
msgid ""
330411
"The function provides PKCS#5 password-based key derivation function 2. It "
331412
"uses HMAC as pseudorandom function."
332413
msgstr ""
414+
"該函式提供基於密碼的 PKCS#5 密鑰生成函式 2。它使用 HMAC 作為偽隨機函式 "
415+
"(pseudorandom function)。"
333416

334417
#: ../../library/hashlib.rst:319
335418
msgid ""
@@ -339,6 +422,10 @@ msgid ""
339422
"sensible length (e.g. 1024). *salt* should be about 16 or more bytes from a "
340423
"proper source, e.g. :func:`os.urandom`."
341424
msgstr ""
425+
"字串 *hash_name* 是 HMAC 的雜湊摘要演算法所需的名稱,例如 ``sha1`` 或 "
426+
"``sha256``。*password* 和 *salt* 被直譯為位元組緩衝區。應用程式和函式庫應為 "
427+
"*password* 設下合理的長度限制(例如 1024)。*salt* 應該是來自適當來源(例如 :"
428+
"func:`os.urandom`)且大約 16 或更多位元組。"
342429

343430
#: ../../library/hashlib.rst:325
344431
msgid ""
@@ -348,29 +435,37 @@ msgid ""
348435
"your application, read *Appendix A.2.2* of NIST-SP-800-132_. The answers on "
349436
"the `stackexchange pbkdf2 iterations question`_ explain in detail."
350437
msgstr ""
438+
"應根據雜湊演算法和計算能力選擇 *iterations* 次數。截至 2022 年,建議進行數十"
439+
"萬次 SHA-256 疊代。有關為什麼以及如何選擇最適合你的應用程式的基本原理,請閱"
440+
"讀 NIST-SP-800-132_ 的 *Appendix A.2.2*。`stackexchange pbkdf2 疊代問題`_\\ "
441+
"上的答案有詳細解釋。"
351442

352443
#: ../../library/hashlib.rst:331
353444
msgid ""
354445
"*dklen* is the length of the derived key in bytes. If *dklen* is ``None`` "
355446
"then the digest size of the hash algorithm *hash_name* is used, e.g. 64 for "
356447
"SHA-512."
357448
msgstr ""
449+
"*dklen* 是生成的密鑰長度。如果 *dklen* 為 ``None``,則會使用雜湊演算法 "
450+
"*hash_name* 的摘要大小,例如 SHA-512 為 64。"
358451

359452
#: ../../library/hashlib.rst:340
360453
msgid "Function only available when Python is compiled with OpenSSL."
361-
msgstr ""
454+
msgstr "僅當有使用 OpenSSL 編譯 Python 時該函式才可用。"
362455

363456
#: ../../library/hashlib.rst:344
364457
msgid ""
365458
"Function now only available when Python is built with OpenSSL. The slow pure "
366459
"Python implementation has been removed."
367460
msgstr ""
461+
"該函式現在僅在有使用 OpenSSL 建置 Python 時可用。緩慢的純 Python 實作已被刪"
462+
"除。"
368463

369464
#: ../../library/hashlib.rst:350
370465
msgid ""
371466
"The function provides scrypt password-based key derivation function as "
372467
"defined in :rfc:`7914`."
373-
msgstr ""
468+
msgstr "該函式提供(如 :rfc:`7914` 中所定義的)scrypt 基於密碼的密鑰衍生函式。"
374469

375470
#: ../../library/hashlib.rst:353
376471
msgid ""
@@ -379,13 +474,18 @@ msgid ""
379474
"length (e.g. 1024). *salt* should be about 16 or more bytes from a proper "
380475
"source, e.g. :func:`os.urandom`."
381476
msgstr ""
477+
"*password* 和 *salt* 必須是\\ :term:`類位元組物件 <bytes-like object>`。應用"
478+
"程式和函式庫應為 *password* 設下合理的長度限制(例如 1024)。*salt* 應該是來"
479+
"自適當來源(例如 :func:`os.urandom`)且大約 16 或更多位元組。"
382480

383481
#: ../../library/hashlib.rst:358
384482
msgid ""
385483
"*n* is the CPU/Memory cost factor, *r* the block size, *p* parallelization "
386484
"factor and *maxmem* limits memory (OpenSSL 1.1.0 defaults to 32 MiB). "
387485
"*dklen* is the length of the derived key in bytes."
388486
msgstr ""
487+
"*n* 是 CPU/記憶體開銷係數、*r* 是區塊大小、*p* 為平行化係數、*maxmem* 為記憶"
488+
"體限制(OpenSSL 1.1.0 預設為 32 MiB)。*dklen* 是生成密鑰的長度。"
389489

390490
#: ../../library/hashlib.rst:366
391491
msgid "BLAKE2"
@@ -395,81 +495,95 @@ msgstr "BLAKE2"
395495
msgid ""
396496
"BLAKE2_ is a cryptographic hash function defined in :rfc:`7693` that comes "
397497
"in two flavors:"
398-
msgstr ""
498+
msgstr "BLAKE2_ 是在 :rfc:`7693` 中定義的加密雜湊函式,有兩種類型:"
399499

400500
#: ../../library/hashlib.rst:376
401501
msgid ""
402502
"**BLAKE2b**, optimized for 64-bit platforms and produces digests of any size "
403503
"between 1 and 64 bytes,"
404504
msgstr ""
505+
"**BLAKE2b**,針對 64 位元平台進行了最佳化,可生成 1 到 64 位元組之間任意大小"
506+
"的摘要,"
405507

406508
#: ../../library/hashlib.rst:379
407509
msgid ""
408510
"**BLAKE2s**, optimized for 8- to 32-bit platforms and produces digests of "
409511
"any size between 1 and 32 bytes."
410512
msgstr ""
513+
"**BLAKE2s**,針對 8 至 32 位元平台進行了最佳化,可生成 1 至 32 位元組之間任意"
514+
"大小的摘要。"
411515

412516
#: ../../library/hashlib.rst:382
413517
msgid ""
414518
"BLAKE2 supports **keyed mode** (a faster and simpler replacement for HMAC_), "
415519
"**salted hashing**, **personalization**, and **tree hashing**."
416520
msgstr ""
521+
"BLAKE2 支援\\ **密鑰模式 (keyed mode)** (更快、更簡單的 HMAC_ 替代品)、**加"
522+
"鹽雜湊 (salted hashing)**、**個人化**\\\\ **樹狀雜湊**。"
417523

418524
#: ../../library/hashlib.rst:385
419525
msgid ""
420526
"Hash objects from this module follow the API of standard library's :mod:"
421527
"`hashlib` objects."
422-
msgstr ""
528+
msgstr "該模組中的雜湊物件遵循標準函式庫的 :mod:`hashlib` 物件 API。"
423529

424530
#: ../../library/hashlib.rst:390
425531
msgid "Creating hash objects"
426-
msgstr ""
532+
msgstr "建立雜湊物件"
427533

428534
#: ../../library/hashlib.rst:392
429535
msgid "New hash objects are created by calling constructor functions:"
430-
msgstr ""
536+
msgstr "新的雜湊物件是透過呼叫建構函式建立的:"
431537

432538
#: ../../library/hashlib.rst:406
433539
msgid ""
434540
"These functions return the corresponding hash objects for calculating "
435541
"BLAKE2b or BLAKE2s. They optionally take these general parameters:"
436542
msgstr ""
543+
"這些函式回傳相應的雜湊物件以計算 BLAKE2b 或 BLAKE2s。他們可以選擇採用這些通用"
544+
"參數:"
437545

438546
#: ../../library/hashlib.rst:409
439547
msgid ""
440548
"*data*: initial chunk of data to hash, which must be :term:`bytes-like "
441549
"object`. It can be passed only as positional argument."
442550
msgstr ""
551+
"*data*:要雜湊的初始資料塊 (data chunk),它必須是\\ :term:`類位元組物件 "
552+
"<bytes-like object>`。它只能作為位置引數傳遞。"
443553

444554
#: ../../library/hashlib.rst:412
445555
msgid "*digest_size*: size of output digest in bytes."
446-
msgstr ""
556+
msgstr "*digest_size*:輸出摘要的大小(以位元組為單位)。"
447557

448558
#: ../../library/hashlib.rst:414
449559
msgid ""
450560
"*key*: key for keyed hashing (up to 64 bytes for BLAKE2b, up to 32 bytes for "
451561
"BLAKE2s)."
452562
msgstr ""
563+
"*key*:用於密鑰雜湊的密鑰(BLAKE2b 最多 64 位元組、BLAKE2s 最多 32 位元組)。"
453564

454565
#: ../../library/hashlib.rst:417
455566
msgid ""
456567
"*salt*: salt for randomized hashing (up to 16 bytes for BLAKE2b, up to 8 "
457568
"bytes for BLAKE2s)."
458569
msgstr ""
570+
"*salt*:用於隨機雜湊的鹽(BLAKE2b 最多 16 個位元組、BLAKE2s 最多 8 個位元"
571+
"組)。"
459572

460573
#: ../../library/hashlib.rst:420
461574
msgid ""
462575
"*person*: personalization string (up to 16 bytes for BLAKE2b, up to 8 bytes "
463576
"for BLAKE2s)."
464577
msgstr ""
578+
"*person*:個人化字串(BLAKE2b 最多 16 個位元組、BLAKE2s 最多 8 個位元組)。"
465579

466580
#: ../../library/hashlib.rst:423
467581
msgid "The following table shows limits for general parameters (in bytes):"
468-
msgstr ""
582+
msgstr "下表顯示了一般參數的限制(以位元組為單位):"
469583

470584
#: ../../library/hashlib.rst:426
471585
msgid "Hash"
472-
msgstr ""
586+
msgstr "雜湊"
473587

474588
#: ../../library/hashlib.rst:426
475589
msgid "digest_size"
@@ -520,93 +634,106 @@ msgid ""
520634
"example, ``b'salt'`` and ``b'salt\\x00'`` is the same value. (This is not "
521635
"the case for *key*.)"
522636
msgstr ""
637+
"BLAKE2 規範定義了鹽和個人化參數的恆定長度,但為了方便起見,此實作接受任意大小"
638+
"的位元組字串,最多可達指定長度。如果參數的長度小於指定的長度,則用零補滿,所"
639+
"以像是 ``b'salt`` 和 ``b'salt\\x00`` 是相同的值。(但 *key* 的情況並非如"
640+
"此。)"
523641

524642
#: ../../library/hashlib.rst:441
525643
msgid "These sizes are available as module `constants`_ described below."
526-
msgstr ""
644+
msgstr "這些大小可作為模組\\ `常數 <constants_>`_\\ 使用,如下所述。"
527645

528646
#: ../../library/hashlib.rst:443
529647
msgid ""
530648
"Constructor functions also accept the following tree hashing parameters:"
531-
msgstr ""
649+
msgstr "建構函式還接受以下樹狀雜湊參數:"
532650

533651
#: ../../library/hashlib.rst:445
534652
msgid "*fanout*: fanout (0 to 255, 0 if unlimited, 1 in sequential mode)."
535-
msgstr ""
653+
msgstr "*fanout*:扇出(0 到 255,如果無限制則為 0、順序模式為 1)。"
536654

537655
#: ../../library/hashlib.rst:447
538656
msgid ""
539657
"*depth*: maximal depth of tree (1 to 255, 255 if unlimited, 1 in sequential "
540658
"mode)."
541-
msgstr ""
659+
msgstr "*depth*:樹的最大深度(1 到 255,如果無限制則為 255、順序模式為 1)。"
542660

543661
#: ../../library/hashlib.rst:450
544662
msgid ""
545663
"*leaf_size*: maximal byte length of leaf (0 to ``2**32-1``, 0 if unlimited "
546664
"or in sequential mode)."
547665
msgstr ""
666+
"*leaf_size*:葉的最大位元組長度(0 到 ``2**32-1``,如果無限制或處於順序模式則"
667+
"為 0)。"
548668

549669
#: ../../library/hashlib.rst:453
550670
msgid ""
551671
"*node_offset*: node offset (0 to ``2**64-1`` for BLAKE2b, 0 to ``2**48-1`` "
552672
"for BLAKE2s, 0 for the first, leftmost, leaf, or in sequential mode)."
553673
msgstr ""
674+
"*node_offset*:節點偏移量(BLAKE2b 為 0 到 ``2**64-1``,BLAKE2s 為 0 到 "
675+
"``2**48-1``,0 表示第一個、最左邊、葉子或在順序模式下)。"
554676

555677
#: ../../library/hashlib.rst:456
556678
msgid ""
557679
"*node_depth*: node depth (0 to 255, 0 for leaves, or in sequential mode)."
558-
msgstr ""
680+
msgstr "*node_depth*:節點深度(0 到 255,葉為 0,或在順序模式下)。"
559681

560682
#: ../../library/hashlib.rst:458
561683
msgid ""
562684
"*inner_size*: inner digest size (0 to 64 for BLAKE2b, 0 to 32 for BLAKE2s, 0 "
563685
"in sequential mode)."
564686
msgstr ""
687+
"*inner_size*:內部摘要大小(BLAKE2b 為 0 到 64,BLAKE2s 為 0 到 32,順序模式"
688+
"為 0)。"
565689

566690
#: ../../library/hashlib.rst:461
567691
msgid ""
568692
"*last_node*: boolean indicating whether the processed node is the last one "
569693
"(``False`` for sequential mode)."
570694
msgstr ""
695+
"*last_node*:布林值,代表處理的節點是否為最後一個(``False`` 代表順序模式)。"
571696

572-
#: ../../library/hashlib.rst:464
697+
#: ../../library/hashlib.rst:-1
573698
msgid "Explanation of tree mode parameters."
574-
msgstr ""
699+
msgstr "樹狀模式參數說明。"
575700

576701
#: ../../library/hashlib.rst:468
577702
msgid ""
578703
"See section 2.10 in `BLAKE2 specification <https://www.blake2.net/"
579704
"blake2_20130129.pdf>`_ for comprehensive review of tree hashing."
580705
msgstr ""
706+
"關於樹狀雜湊的綜合回顧,請參閱 `BLAKE2 規範 <https://www.blake2.net/"
707+
"blake2_20130129.pdf>`_\\ 中的第 2.10 節。"
581708

582709
#: ../../library/hashlib.rst:474
583710
msgid "Constants"
584711
msgstr "常數"
585712

586713
#: ../../library/hashlib.rst:479
587714
msgid "Salt length (maximum length accepted by constructors)."
588-
msgstr ""
715+
msgstr "鹽長度(建構函式接受的最大長度)。"
589716

590717
#: ../../library/hashlib.rst:485
591718
msgid ""
592719
"Personalization string length (maximum length accepted by constructors)."
593-
msgstr ""
720+
msgstr "個人化字串長度(建構函式接受的最大長度)。"
594721

595722
#: ../../library/hashlib.rst:491
596723
msgid "Maximum key size."
597-
msgstr ""
724+
msgstr "最大密鑰大小。"
598725

599726
#: ../../library/hashlib.rst:497
600727
msgid "Maximum digest size that the hash function can output."
601-
msgstr ""
728+
msgstr "雜湊函式可以輸出的最大摘要大小。"
602729

603730
#: ../../library/hashlib.rst:501
604731
msgid "Examples"
605732
msgstr "範例"
606733

607734
#: ../../library/hashlib.rst:504
608735
msgid "Simple hashing"
609-
msgstr ""
736+
msgstr "簡單雜湊"
610737

611738
#: ../../library/hashlib.rst:506
612739
msgid ""
@@ -616,40 +743,51 @@ msgid ""
616743
"the object, and, finally, get the digest out of the object by calling :meth:"
617744
"`~hash.digest` (or :meth:`~hash.hexdigest` for hex-encoded string)."
618745
msgstr ""
746+
"要計算某些資料的雜湊值,你應該首先透過呼叫適當的建構函式(:func:`blake2b` "
747+
"或 :func:`blake2s`)以建構一個雜湊物件,然後透過於物件呼叫 :meth:`~hash."
748+
"update` 來以資料對它更新,最後透過呼叫 :meth:`~hash.digest`\\ (或對於十六進"
749+
"位編碼字串則為 :meth:`~hash.hexdigest`)從物件中獲得摘要。"
619750

620751
#: ../../library/hashlib.rst:519
621752
msgid ""
622753
"As a shortcut, you can pass the first chunk of data to update directly to "
623754
"the constructor as the positional argument:"
624755
msgstr ""
756+
"作為一個快捷方式,你可以將要更新的第一個資料塊作為位置引數直接傳遞給建構函"
757+
"式:"
625758

626759
#: ../../library/hashlib.rst:526
627760
msgid ""
628761
"You can call :meth:`hash.update` as many times as you need to iteratively "
629762
"update the hash:"
630-
msgstr ""
763+
msgstr "你可以根據需求來多次呼叫 :meth:`hash.update` 以疊代更新雜湊:"
631764

632765
#: ../../library/hashlib.rst:540
633766
msgid "Using different digest sizes"
634-
msgstr ""
767+
msgstr "使用不同的摘要大小"
635768

636769
#: ../../library/hashlib.rst:542
637770
msgid ""
638771
"BLAKE2 has configurable size of digests up to 64 bytes for BLAKE2b and up to "
639772
"32 bytes for BLAKE2s. For example, to replace SHA-1 with BLAKE2b without "
640773
"changing the size of output, we can tell BLAKE2b to produce 20-byte digests:"
641774
msgstr ""
775+
"BLAKE2 有可調整的摘要大小,BLAKE2b 最多為 64 位元組,BLAKE2s 最多為 32 位元"
776+
"組。例如,要在不改變輸出大小的情況下用 BLAKE2b 替換 SHA-1,我們可以指定 "
777+
"BLAKE2b 生成 20 位元組的摘要:"
642778

643779
#: ../../library/hashlib.rst:556
644780
msgid ""
645781
"Hash objects with different digest sizes have completely different outputs "
646782
"(shorter hashes are *not* prefixes of longer hashes); BLAKE2b and BLAKE2s "
647783
"produce different outputs even if the output length is the same:"
648784
msgstr ""
785+
"具有不同摘要大小的雜湊物件具有完全不同的輸出(較短的雜湊值\\ *不是*\\ 較長雜"
786+
"湊值的前綴);即使輸出長度相同,BLAKE2b 和 BLAKE2s 也會產生不同的輸出:"
649787

650788
#: ../../library/hashlib.rst:572
651789
msgid "Keyed hashing"
652-
msgstr ""
790+
msgstr "密鑰雜湊 (Keyed hashing)"
653791

654792
#: ../../library/hashlib.rst:574
655793
msgid ""
@@ -658,35 +796,47 @@ msgid ""
658796
"wikipedia.org/wiki/HMAC>`_ (HMAC). BLAKE2 can be securely used in prefix-MAC "
659797
"mode thanks to the indifferentiability property inherited from BLAKE."
660798
msgstr ""
799+
"密鑰雜湊可用於身份驗證,作為\\ `基於雜湊的訊息驗證碼 (Hash-based message "
800+
"authentication code) <https://zh.wikipedia.org/zh-tw/HMAC>`_ (HMAC) 的更快、更"
801+
"簡單的替代方案。由於繼承自 BLAKE 的不可微特性 (indifferentiability "
802+
"property),BLAKE2 可以安全地用於 prefix-MAC 模式。"
661803

662804
#: ../../library/hashlib.rst:580
663805
msgid ""
664806
"This example shows how to get a (hex-encoded) 128-bit authentication code "
665807
"for message ``b'message data'`` with key ``b'pseudorandom key'``::"
666808
msgstr ""
809+
"此範例示範了如何使用密鑰 ``b'pseudorandom key'`` 獲取訊息 ``b'message "
810+
"data'`` 的(十六進位編碼)128 位元驗證碼: ::"
667811

668812
#: ../../library/hashlib.rst:590
669813
msgid ""
670814
"As a practical example, a web application can symmetrically sign cookies "
671815
"sent to users and later verify them to make sure they weren't tampered with::"
672816
msgstr ""
817+
"舉一個實際的例子,網頁應用程式可以對發送給使用者的 cookie 進行對稱簽名 "
818+
"(symmetrically sign),然後驗證它們以確保它們沒有被篡改: ::"
673819

674820
#: ../../library/hashlib.rst:619
675821
msgid ""
676822
"Even though there's a native keyed hashing mode, BLAKE2 can, of course, be "
677823
"used in HMAC construction with :mod:`hmac` module::"
678824
msgstr ""
825+
"儘管有原生密鑰雜湊模式,BLAKE2 還是可以透過 :mod:`hmac` 模組用於建構 "
826+
"HMAC: ::"
679827

680828
#: ../../library/hashlib.rst:630
681829
msgid "Randomized hashing"
682-
msgstr ""
830+
msgstr "隨機雜湊 (Randomized hashing)"
683831

684832
#: ../../library/hashlib.rst:632
685833
msgid ""
686834
"By setting *salt* parameter users can introduce randomization to the hash "
687835
"function. Randomized hashing is useful for protecting against collision "
688836
"attacks on the hash function used in digital signatures."
689837
msgstr ""
838+
"透過設定 *salt* 參數,使用者可以向雜湊函式引入隨機化。隨機雜湊在防止針對數位"
839+
"簽章中雜湊函式的碰撞攻擊 (collision attacks) 非常有用。"
690840

691841
#: ../../library/hashlib.rst:636
692842
msgid ""
@@ -708,18 +858,33 @@ msgid ""
708858
"hashing may reduce the amount of security provided by a digital signature "
709859
"when all portions of the message are prepared by the signer."
710860
msgstr ""
861+
"隨機雜湊是為這樣的情況而設計的:一方(訊息準備者)生成全部或部分訊息並由另一"
862+
"方(訊息簽名者)簽名。如果訊息準備者能夠發現加密雜湊函式發生碰撞(collision,"
863+
"即兩條訊息產生相同的雜湊值),那麼他們可能會準備有意義的訊息版本,該版本將產"
864+
"生相同的雜湊值和數位簽章,但結果不同(例如,將 $1,000,000 轉入賬戶,而不是 "
865+
"$10)。加密雜湊函式的設計以抗碰撞性為主要目標,但當前對加密雜湊函式攻擊的關注"
866+
"可能會導致給定的加密雜湊函式所提供的抗碰撞性低於預期。隨機雜湊透過降低準備者"
867+
"在數位簽章生成過程中生成最終產生相同雜湊值的兩個或多個訊息的可能性,為簽名者"
868+
"提供額外的保護 —— 即便嘗試去找到雜湊函式碰撞的發生是實際可行的。然而,若訊息"
869+
"的所有部分都是由簽名者所準備好的,使用隨機雜湊可能會降低數位簽章提供的安全"
870+
"性。"
711871

712872
#: ../../library/hashlib.rst:655
713873
msgid ""
714874
"(`NIST SP-800-106 \"Randomized Hashing for Digital Signatures\" <https://"
715875
"csrc.nist.gov/publications/detail/sp/800-106/archive/2009-02-25>`_)"
716876
msgstr ""
877+
"(`NIST SP-800-106 「數位簽章的隨機雜湊 (Randomized Hashing for Digital "
878+
"Signatures)」 <https://csrc.nist.gov/publications/detail/sp/800-106/"
879+
"archive/2009-02-25>`_)"
717880

718881
#: ../../library/hashlib.rst:658
719882
msgid ""
720883
"In BLAKE2 the salt is processed as a one-time input to the hash function "
721884
"during initialization, rather than as an input to each compression function."
722885
msgstr ""
886+
"在 BLAKE2 中,鹽在初始化期間作為雜湊函式的一次性輸入被處理,而不是作為每個壓"
887+
"縮函式的輸入。"
723888

724889
#: ../../library/hashlib.rst:663
725890
msgid ""
@@ -728,17 +893,22 @@ msgid ""
728893
"passwords. See `BLAKE2 FAQ <https://www.blake2.net/#qa>`_ for more "
729894
"information."
730895
msgstr ""
896+
"使用 BLAKE2 或任何其他通用加密雜湊函式(例如 SHA-256)的\\ *加鹽雜湊* (或單"
897+
"純雜湊)不適合對密碼進行雜湊處理。有關更多資訊,請參閱 `BLAKE2 FAQ <https://"
898+
"www.blake2.net/#qa>`_ 。"
731899

732900
#: ../../library/hashlib.rst:686
733901
msgid "Personalization"
734-
msgstr ""
902+
msgstr "個人化"
735903

736904
#: ../../library/hashlib.rst:688
737905
msgid ""
738906
"Sometimes it is useful to force hash function to produce different digests "
739907
"for the same input for different purposes. Quoting the authors of the Skein "
740908
"hash function:"
741909
msgstr ""
910+
"有時候強制雜湊函式為不同目的的相同輸入生成不同的摘要是很有用的。引用 Skein 雜"
911+
"湊函式的作者的話:"
742912

743913
#: ../../library/hashlib.rst:692
744914
msgid ""
@@ -749,40 +919,46 @@ msgid ""
749919
"force the application to make the hash inputs the same. Personalizing each "
750920
"hash function used in the protocol summarily stops this type of attack."
751921
msgstr ""
922+
"我們建議所有應用程式設計者認真考慮這樣做;我們已經看到許多協議,其中在協議的"
923+
"一個部分中計算的雜湊可以在完全不同的部分中使用,因為兩次雜湊計算是在相似或相"
924+
"關的資料上完成的,並且攻擊者可以強制應用程式將雜湊輸入設為相同的。對協議中使"
925+
"用的每個雜湊函式進行個人化可以立即阻止此類攻擊。"
752926

753927
#: ../../library/hashlib.rst:699
754928
msgid ""
755929
"(`The Skein Hash Function Family <https://www.schneier.com/wp-content/"
756930
"uploads/2016/02/skein.pdf>`_, p. 21)"
757931
msgstr ""
932+
"(`Skein 雜湊函式系列 <https://www.schneier.com/wp-content/uploads/2016/02/"
933+
"skein.pdf>`_,第 21 頁)"
758934

759935
#: ../../library/hashlib.rst:703
760936
msgid "BLAKE2 can be personalized by passing bytes to the *person* argument::"
761-
msgstr ""
937+
msgstr "BLAKE2 可以透過將位元組傳遞給 *person* 引數來做個人化: ::"
762938

763939
#: ../../library/hashlib.rst:717
764940
msgid ""
765941
"Personalization together with the keyed mode can also be used to derive "
766942
"different keys from a single one."
767-
msgstr ""
943+
msgstr "個人化與密鑰模式還可以一起用於從單個密鑰得出不同的密鑰。"
768944

769945
#: ../../library/hashlib.rst:731
770946
msgid "Tree mode"
771-
msgstr ""
947+
msgstr "樹狀模式"
772948

773949
#: ../../library/hashlib.rst:733
774950
msgid "Here's an example of hashing a minimal tree with two leaf nodes::"
775-
msgstr ""
951+
msgstr "下面是對具有兩個葉節點的最小樹進行雜湊處理的範例: ::"
776952

777953
#: ../../library/hashlib.rst:739
778954
msgid ""
779955
"This example uses 64-byte internal digests, and returns the 32-byte final "
780956
"digest::"
781-
msgstr ""
957+
msgstr "此範例使用 64-byte 內部摘要,並回傳 32-byte 最終摘要: ::"
782958

783959
#: ../../library/hashlib.rst:769
784960
msgid "Credits"
785-
msgstr ""
961+
msgstr "製作人員"
786962

787963
#: ../../library/hashlib.rst:771
788964
msgid ""
@@ -791,96 +967,110 @@ msgid ""
791967
"created by *Jean-Philippe Aumasson*, *Luca Henzen*, *Willi Meier*, and "
792968
"*Raphael C.-W. Phan*."
793969
msgstr ""
970+
"BLAKE2_ 由 *Jean-Philippe Aumasson*、*Samuel Neves*、*Zooko Wilcox-O'Hearn* "
971+
"和 *Christian Winnerlein* 設計,基於由 *Jean-Philippe Aumasson*、*Luca "
972+
"Henzen*、*Willi Meier* 和 *Raphael C.-W. Phan* 所建立的 SHA-3_ 最終版本 "
973+
"BLAKE_。"
794974

795975
#: ../../library/hashlib.rst:776
796976
msgid ""
797977
"It uses core algorithm from ChaCha_ cipher designed by *Daniel J. "
798978
"Bernstein*."
799-
msgstr ""
979+
msgstr "它使用 *Daniel J. Bernstein* 設計的 ChaCha_ 密碼的核心演算法。"
800980

801981
#: ../../library/hashlib.rst:778
802982
msgid ""
803983
"The stdlib implementation is based on pyblake2_ module. It was written by "
804984
"*Dmitry Chestnykh* based on C implementation written by *Samuel Neves*. The "
805985
"documentation was copied from pyblake2_ and written by *Dmitry Chestnykh*."
806986
msgstr ""
987+
"標準函式庫實作是基於 pyblake2_ 模組。它是由 *Dmitry Chestnykh* 在 *Samuel "
988+
"Neves* 的 C 版本實作為基礎所編寫的。該文件是由 *Dmitry Chestnykh* 編寫並從 "
989+
"pyblake2_ 複製過來的。"
807990

808991
#: ../../library/hashlib.rst:782
809992
msgid "The C code was partly rewritten for Python by *Christian Heimes*."
810-
msgstr ""
993+
msgstr "*Christian Heimes* 為 Python 重寫了部分 C 程式碼。"
811994

812995
#: ../../library/hashlib.rst:784
813996
msgid ""
814997
"The following public domain dedication applies for both C hash function "
815998
"implementation, extension code, and this documentation:"
816-
msgstr ""
999+
msgstr "以下公開領域貢獻適用於 C 雜湊函式實作、擴充程式碼和此文件:"
8171000

8181001
#: ../../library/hashlib.rst:787
8191002
msgid ""
8201003
"To the extent possible under law, the author(s) have dedicated all copyright "
8211004
"and related and neighboring rights to this software to the public domain "
8221005
"worldwide. This software is distributed without any warranty."
8231006
msgstr ""
1007+
"在法律允許的範圍內,作者已將該軟體的所有版權以及相關和鄰接權利奉獻給全球的公"
1008+
"開領域。該軟體的發布沒有任何授權 (warranty)。"
8241009

8251010
#: ../../library/hashlib.rst:791
8261011
msgid ""
8271012
"You should have received a copy of the CC0 Public Domain Dedication along "
8281013
"with this software. If not, see https://creativecommons.org/publicdomain/"
8291014
"zero/1.0/."
8301015
msgstr ""
1016+
"你應會隨本軟體一起收到一份 CC0 公眾領域貢獻宣告 (CC0 Public Domain "
1017+
"Dedication) 的副本。如果沒有,請參閱 https://creativecommons.org/"
1018+
"publicdomain/zero/1.0/ 。"
8311019

8321020
#: ../../library/hashlib.rst:795
8331021
msgid ""
8341022
"The following people have helped with development or contributed their "
8351023
"changes to the project and the public domain according to the Creative "
8361024
"Commons Public Domain Dedication 1.0 Universal:"
8371025
msgstr ""
1026+
"以下人員根據創用 CC 通用公眾領域貢獻宣告 1.0 (Creative Commons Public Domain "
1027+
"Dedication 1.0 Universal) 於專案和公開領域做出了開發或貢獻:"
8381028

8391029
#: ../../library/hashlib.rst:799
8401030
msgid "*Alexandr Sokolovskiy*"
8411031
msgstr "*Alexandr Sokolovskiy*"
8421032

843-
#: ../../library/hashlib.rst:819
1033+
#: ../../library/hashlib.rst:820
8441034
msgid "Module :mod:`hmac`"
8451035
msgstr ":mod:`hmac` 模組"
8461036

8471037
#: ../../library/hashlib.rst:820
8481038
msgid "A module to generate message authentication codes using hashes."
849-
msgstr ""
1039+
msgstr "使用雜湊生成訊息驗證程式碼的模組。"
8501040

851-
#: ../../library/hashlib.rst:822
1041+
#: ../../library/hashlib.rst:823
8521042
msgid "Module :mod:`base64`"
8531043
msgstr ":mod:`base64` 模組"
8541044

8551045
#: ../../library/hashlib.rst:823
8561046
msgid "Another way to encode binary hashes for non-binary environments."
857-
msgstr ""
1047+
msgstr "另一種在非二進位環境中編碼二進位雜湊的方法。"
8581048

859-
#: ../../library/hashlib.rst:825
1049+
#: ../../library/hashlib.rst:826
8601050
msgid "https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.180-4.pdf"
861-
msgstr ""
1051+
msgstr "https://nvlpubs.nist.gov/nistpubs/fips/nist.fips.180-4.pdf"
8621052

8631053
#: ../../library/hashlib.rst:826
8641054
msgid "The FIPS 180-4 publication on Secure Hash Algorithms."
865-
msgstr ""
1055+
msgstr "有關安全雜湊演算法的 FIPS 180-4 出版物。"
8661056

867-
#: ../../library/hashlib.rst:828
1057+
#: ../../library/hashlib.rst:829
8681058
msgid "https://csrc.nist.gov/publications/detail/fips/202/final"
869-
msgstr ""
1059+
msgstr "https://csrc.nist.gov/publications/detail/fips/202/final"
8701060

8711061
#: ../../library/hashlib.rst:829
8721062
msgid "The FIPS 202 publication on the SHA-3 Standard."
873-
msgstr ""
1063+
msgstr "有關 SHA-3 標準的 FIPS 202 出版物。"
8741064

875-
#: ../../library/hashlib.rst:831
1065+
#: ../../library/hashlib.rst:832
8761066
msgid "https://www.blake2.net/"
8771067
msgstr "https://www.blake2.net/"
8781068

8791069
#: ../../library/hashlib.rst:832
8801070
msgid "Official BLAKE2 website."
8811071
msgstr "BLAKE2 官方網站。"
8821072

883-
#: ../../library/hashlib.rst:834
1073+
#: ../../library/hashlib.rst:836
8841074
msgid "https://en.wikipedia.org/wiki/Cryptographic_hash_function"
8851075
msgstr "https://en.wikipedia.org/wiki/Cryptographic_hash_function"
8861076

@@ -889,14 +1079,16 @@ msgid ""
8891079
"Wikipedia article with information on which algorithms have known issues and "
8901080
"what that means regarding their use."
8911081
msgstr ""
1082+
"包含有關哪些演算法存在已知問題以及這些問題對其使用意味著什麼資訊的維基百科文"
1083+
"章。"
8921084

893-
#: ../../library/hashlib.rst:838
1085+
#: ../../library/hashlib.rst:839
8941086
msgid "https://www.ietf.org/rfc/rfc8018.txt"
8951087
msgstr "https://www.ietf.org/rfc/rfc8018.txt"
8961088

8971089
#: ../../library/hashlib.rst:839
8981090
msgid "PKCS #5: Password-Based Cryptography Specification Version 2.1"
899-
msgstr ""
1091+
msgstr "PKCS #5:基於密碼的加密規範版本 2.1"
9001092

9011093
#: ../../library/hashlib.rst:841
9021094
msgid ""
@@ -906,17 +1098,19 @@ msgstr ""
9061098

9071099
#: ../../library/hashlib.rst:842
9081100
msgid "NIST Recommendation for Password-Based Key Derivation."
909-
msgstr ""
1101+
msgstr "NIST(美國國家標準技術研究院)針對基於密碼的密鑰衍生的建議。"
9101102

9111103
#: ../../library/hashlib.rst:12
9121104
msgid "message digest, MD5"
913-
msgstr ""
1105+
msgstr "message digest(訊息摘要)、MD5"
9141106

9151107
#: ../../library/hashlib.rst:12
9161108
msgid ""
9171109
"secure hash algorithm, SHA1, SHA2, SHA224, SHA256, SHA384, SHA512, SHA3, "
9181110
"Shake, Blake2"
9191111
msgstr ""
1112+
"安全雜湊演算法、SHA1、SHA2、SHA224、SHA256、SHA384、SHA512、SHA3、Shake、"
1113+
"Blake2"
9201114

9211115
#: ../../library/hashlib.rst:55
9221116
msgid "OpenSSL"
@@ -929,6 +1123,3 @@ msgstr "(使用於 hashlib 模組中)"
9291123
#: ../../library/hashlib.rst:370
9301124
msgid "blake2b, blake2s"
9311125
msgstr "blake2b, blake2s"
932-
933-
#~ msgid ":func:`blake2b` and :func:`blake2s` were added."
934-
#~ msgstr "加入 :func:`blake2b` 和 :func:`blake2s`。"

0 commit comments

Comments
 (0)
Please sign in to comment.