1
- # SOME DESCRIPTIVE TITLE.
2
- # Copyright (C) 2001-2022, Python Software Foundation
1
+ # Copyright (C) 2001-2024, Python Software Foundation
3
2
# This file is distributed under the same license as the Python package.
4
3
#
5
4
# Translators:
5
+ # Matt Wang <mattwang44@gmail.com>, 2024
6
6
msgid ""
7
7
msgstr ""
8
8
"Project-Id-Version : Python 3.12\n "
9
9
"Report-Msgid-Bugs-To : \n "
10
10
"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 "
13
13
"Language-Team : Chinese - TAIWAN (https://github.com/python/python-docs-zh- "
14
14
"tw)\n "
15
15
"Language : zh_TW\n "
16
16
"MIME-Version : 1.0\n "
17
17
"Content-Type : text/plain; charset=UTF-8\n "
18
18
"Content-Transfer-Encoding : 8bit\n "
19
19
"Plural-Forms : nplurals=1; plural=0;\n "
20
+ "X-Generator : Poedit 3.3.2\n "
20
21
21
22
#: ../../library/hashlib.rst:2
22
23
msgid ":mod:`!hashlib` --- Secure hashes and message digests"
@@ -36,12 +37,19 @@ msgid ""
36
37
"\" secure hash\" and \" message digest\" are interchangeable. Older "
37
38
"algorithms were called message digests. The modern term is secure hash."
38
39
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
+ "的演算法稱為訊息摘要、現代則較常稱之安全雜湊。"
39
46
40
47
#: ../../library/hashlib.rst:33
41
48
msgid ""
42
49
"If you want the adler32 or crc32 hash functions, they are available in the :"
43
50
"mod:`zlib` module."
44
51
msgstr ""
52
+ "如果你需要 adler32 或 crc32 雜湊函式,可以在 :mod:`zlib` 模組中找到它們。"
45
53
46
54
#: ../../library/hashlib.rst:40
47
55
msgid "Hash algorithms"
@@ -58,13 +66,23 @@ msgid ""
58
66
"using the :meth:`digest()<hash.digest>` or :meth:`hexdigest()<hash."
59
67
"hexdigest>` methods."
60
68
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)`。"
61
76
62
77
#: ../../library/hashlib.rst:50
63
78
msgid ""
64
79
"To allow multithreading, the Python :term:`GIL` is released while computing "
65
80
"a hash supplied more than 2047 bytes of data at once in its constructor or :"
66
81
"meth:`.update<hash.update>` method."
67
82
msgstr ""
83
+ "為了允許多執行緒 (multithreading),Python :term:`GIL` 被釋放,同時在其建構函"
84
+ "式或 :meth:`.update<hash.update>` 方法中計算一次提供超過 2047 位元組資料的雜"
85
+ "湊值。"
68
86
69
87
#: ../../library/hashlib.rst:57
70
88
msgid ""
@@ -76,6 +94,12 @@ msgid ""
76
94
"missing or blocked if you are using a rare \" FIPS compliant\" build of "
77
95
"Python. These correspond to :data:`algorithms_guaranteed`."
78
96
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`。"
79
103
80
104
#: ../../library/hashlib.rst:65
81
105
msgid ""
@@ -84,20 +108,29 @@ msgid ""
84
108
"Others *are not guaranteed available* on all installations and will only be "
85
109
"accessible by name via :func:`new`. See :data:`algorithms_available`."
86
110
msgstr ""
111
+ "如果你的 Python 發行版的 :mod:`hashlib` 與提供其他演算法的 OpenSSL 版本鏈結,"
112
+ "也可能有其他演算法可用。其他則\\ *不保證可用*\\ 於在所有安裝上,並且只能以名"
113
+ "稱來透過 :func:`new` 存取。請參閱 :data:`algorithms_available`。"
87
114
88
115
#: ../../library/hashlib.rst:72
89
116
msgid ""
90
117
"Some algorithms have known hash collision weaknesses (including MD5 and "
91
118
"SHA1). Refer to `Attacks on cryptographic hash algorithms`_ and the `hashlib-"
92
119
"seealso`_ section at the end of this document."
93
120
msgstr ""
121
+ "某些演算法具有已知的雜湊碰撞 (hash collision) 弱點(包括 MD5 和 SHA1)。請參"
122
+ "閱 `Attacks on cryptographic hash algorithms`_ 和本文件後面的\\ `也參考 "
123
+ "<hashlib-seealso_>`_\\ 部分。"
94
124
95
125
#: ../../library/hashlib.rst:76
96
126
msgid ""
97
127
"SHA3 (Keccak) and SHAKE constructors :func:`sha3_224`, :func:`sha3_256`, :"
98
128
"func:`sha3_384`, :func:`sha3_512`, :func:`shake_128`, :func:`shake_256` were "
99
129
"added. :func:`blake2b` and :func:`blake2s` were added."
100
130
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`。"
101
134
102
135
#: ../../library/hashlib.rst:84
103
136
msgid ""
@@ -107,17 +140,23 @@ msgid ""
107
140
"hashing algorithm is not used in a security context, e.g. as a non-"
108
141
"cryptographic one-way compression function."
109
142
msgstr ""
143
+ "所有 hashlib 建構函式都採用一個僅限關鍵字引數 (keyword-only argument) "
144
+ "*usedforsecurity*,其預設值為 ``True``。False 值則會允許在受限環境中使用不安"
145
+ "全 (insecure) 和阻塞的 (blocked) 雜湊演算法。``False`` 表示雜湊演算法未在安全"
146
+ "情境中使用,例如作為一種非加密用途的單向壓縮函式。"
110
147
111
148
#: ../../library/hashlib.rst:91
112
149
msgid "Hashlib now uses SHA3 and SHAKE from OpenSSL if it provides it."
113
- msgstr ""
150
+ msgstr "Hashlib 現在使用 OpenSSL 中的 SHA3 和 SHAKE(如果有提供的話)。 "
114
151
115
152
#: ../../library/hashlib.rst:94
116
153
msgid ""
117
154
"For any of the MD5, SHA1, SHA2, or SHA3 algorithms that the linked OpenSSL "
118
155
"does not provide we fall back to a verified implementation from the `HACL\\ * "
119
156
"project`_."
120
157
msgstr ""
158
+ "對於鏈結之 OpenSSL 未提供的任何 MD5、SHA1、SHA2 或 SHA3 演算法,我們會回退使"
159
+ "用 `HACL\\ * 專案 <HACL\\ * project_>`_\\ 中經過驗證的實作。"
121
160
122
161
#: ../../library/hashlib.rst:100
123
162
msgid "Usage"
@@ -128,10 +167,11 @@ msgid ""
128
167
"To obtain the digest of the byte string ``b\" Nobody inspects the spammish "
129
168
"repetition\" ``::"
130
169
msgstr ""
170
+ "獲取位元組字串 ``b\" Nobody inspects the spammish repetition\" `` 的摘要: ::"
131
171
132
172
#: ../../library/hashlib.rst:114
133
173
msgid "More condensed:"
134
- msgstr ""
174
+ msgstr "更濃縮: "
135
175
136
176
#: ../../library/hashlib.rst:120
137
177
msgid "Constructors"
@@ -144,24 +184,26 @@ msgid ""
144
184
"above listed hashes as well as any other algorithms that your OpenSSL "
145
185
"library may offer."
146
186
msgstr ""
187
+ "是一個通用建構函式,它將目標演算法的字串 *name* 作為其第一個參數。它還允許使"
188
+ "用者取得上面列出的雜湊值以及 OpenSSL 函式庫可能提供的任何其他演算法。"
147
189
148
190
#: ../../library/hashlib.rst:129
149
191
msgid "Using :func:`new` with an algorithm name:"
150
- msgstr ""
192
+ msgstr "使用 :func:`new` 和演算法名稱: "
151
193
152
194
#: ../../library/hashlib.rst:148
153
195
msgid ""
154
196
"Named constructors such as these are faster than passing an algorithm name "
155
197
"to :func:`new`."
156
- msgstr ""
198
+ msgstr "諸如此類的附名建構函式比將演算法名稱傳遞給 :func:`new` 更快。 "
157
199
158
200
#: ../../library/hashlib.rst:152
159
201
msgid "Attributes"
160
- msgstr ""
202
+ msgstr "屬性 "
161
203
162
204
#: ../../library/hashlib.rst:154
163
205
msgid "Hashlib provides the following constant module attributes:"
164
- msgstr ""
206
+ msgstr "Hashlib 提供以下常數模組屬性: "
165
207
166
208
#: ../../library/hashlib.rst:158
167
209
msgid ""
@@ -170,6 +212,9 @@ msgid ""
170
212
"some upstream vendors offering an odd \" FIPS compliant\" Python build that "
171
213
"excludes it."
172
214
msgstr ""
215
+ "包含所有平台上該模組保證支援的雜湊演算法名稱的集合。請注意,'md5' 有出現在此"
216
+ "列表中,儘管有一些上游供應商提供了奇怪的「符合 FIPS (FIPS compliant)」的 "
217
+ "Python 建置,並將其排除在外。"
173
218
174
219
#: ../../library/hashlib.rst:167
175
220
msgid ""
@@ -179,76 +224,92 @@ msgid ""
179
224
"same algorithm may appear multiple times in this set under different names "
180
225
"(thanks to OpenSSL)."
181
226
msgstr ""
227
+ "包含正在運行的 Python 直譯器中可用的雜湊演算法名稱的集合。這些名稱在傳遞給 :"
228
+ "func:`new` 時將被識別。:attr:`algorithms_guaranteed` 都會是它的一個子集。相同"
229
+ "的演算法可能會以不同的名稱多次出現在該集合中(多虧了 OpenSSL)。"
182
230
183
231
#: ../../library/hashlib.rst:176
184
232
msgid "Hash Objects"
185
- msgstr ""
233
+ msgstr "雜湊物件 "
186
234
187
235
#: ../../library/hashlib.rst:178
188
236
msgid ""
189
237
"The following values are provided as constant attributes of the hash objects "
190
238
"returned by the constructors:"
191
- msgstr ""
239
+ msgstr "以下的值皆為建構函式回傳之雜湊物件的常數屬性: "
192
240
193
241
#: ../../library/hashlib.rst:183
194
242
msgid "The size of the resulting hash in bytes."
195
- msgstr ""
243
+ msgstr "生成雜湊的大小(以位元組為單位)。 "
196
244
197
245
#: ../../library/hashlib.rst:187
198
246
msgid "The internal block size of the hash algorithm in bytes."
199
- msgstr ""
247
+ msgstr "雜湊演算法的內部區塊大小(以位元組為單位)。 "
200
248
201
249
#: ../../library/hashlib.rst:189
202
250
msgid "A hash object has the following attributes:"
203
- msgstr ""
251
+ msgstr "雜湊物件具有以下屬性: "
204
252
205
253
#: ../../library/hashlib.rst:193
206
254
msgid ""
207
255
"The canonical name of this hash, always lowercase and always suitable as a "
208
256
"parameter to :func:`new` to create another hash of this type."
209
257
msgstr ""
258
+ "該雜湊的規範名稱,都會是小寫,且都會適合作為 :func:`new` 的參數以建立此型別的"
259
+ "另一個雜湊。"
210
260
211
261
#: ../../library/hashlib.rst:196
212
262
msgid ""
213
263
"The name attribute has been present in CPython since its inception, but "
214
264
"until Python 3.4 was not formally specified, so may not exist on some "
215
265
"platforms."
216
266
msgstr ""
267
+ "name 屬性自 CPython 誕生以來就存在於其中,但直到 Python 3.4 才正式確立,因此"
268
+ "在某些平台上可能不存在。"
217
269
218
270
#: ../../library/hashlib.rst:201
219
271
msgid "A hash object has the following methods:"
220
- msgstr ""
272
+ msgstr "雜湊物件具有以下方法: "
221
273
222
274
#: ../../library/hashlib.rst:206
223
275
msgid ""
224
276
"Update the hash object with the :term:`bytes-like object`. Repeated calls "
225
277
"are equivalent to a single call with the concatenation of all the arguments: "
226
278
"``m.update(a); m.update(b)`` is equivalent to ``m.update(a+b)``."
227
279
msgstr ""
280
+ "使用\\ :term:`類位元組物件 <bytes-like object>`\\ 來更新雜湊物件。重複呼叫相"
281
+ "當於連接所有引數的單一呼叫:``m.update(a); m.update(b)`` 等價於 ``m."
282
+ "update(a+b)``。"
228
283
229
284
#: ../../library/hashlib.rst:214
230
285
msgid ""
231
286
"Return the digest of the data passed to the :meth:`update` method so far. "
232
287
"This is a bytes object of size :attr:`digest_size` which may contain bytes "
233
288
"in the whole range from 0 to 255."
234
289
msgstr ""
290
+ "回傳目前有傳遞給 :meth:`update` 方法的資料之摘要。這是一個大小為 :attr:"
291
+ "`digest_size` 的位元組物件,它可能包含從 0 到 255 的整個範圍內的位元組。"
235
292
236
293
#: ../../library/hashlib.rst:221
237
294
msgid ""
238
295
"Like :meth:`digest` except the digest is returned as a string object of "
239
296
"double length, containing only hexadecimal digits. This may be used to "
240
297
"exchange the value safely in email or other non-binary environments."
241
298
msgstr ""
299
+ "與 :meth:`digest` 類似,只不過摘要會是作為雙倍長度的字串物件回傳,僅包含十六"
300
+ "進位數字。這可用於在電子郵件或其他非二進位環境中安全地交換值。"
242
301
243
302
#: ../../library/hashlib.rst:228
244
303
msgid ""
245
304
"Return a copy (\" clone\" ) of the hash object. This can be used to "
246
305
"efficiently compute the digests of data sharing a common initial substring."
247
306
msgstr ""
307
+ "回傳雜湊物件的副本(「複製 (clone)」),這可用於高效率地計算出共享同一初始子"
308
+ "字串的資料之摘要。"
248
309
249
310
#: ../../library/hashlib.rst:233
250
311
msgid "SHAKE variable length digests"
251
- msgstr ""
312
+ msgstr "SHAKE 可變長度摘要 "
252
313
253
314
#: ../../library/hashlib.rst:238
254
315
msgid ""
@@ -257,39 +318,48 @@ msgid ""
257
318
"such, their digest methods require a length. Maximum length is not limited "
258
319
"by the SHAKE algorithm."
259
320
msgstr ""
321
+ ":func:`shake_128` 和 :func:`shake_256` 演算法提供了可變長度摘要,其 "
322
+ "length_in_bits//2 最高為 128 或 256 位元安全性。因此,他們的摘要方法會需要長"
323
+ "度。最大長度不受 SHAKE 演算法限制。"
260
324
261
325
#: ../../library/hashlib.rst:245
262
326
msgid ""
263
327
"Return the digest of the data passed to the :meth:`~hash.update` method so "
264
328
"far. This is a bytes object of size *length* which may contain bytes in the "
265
329
"whole range from 0 to 255."
266
330
msgstr ""
331
+ "回傳目前有傳遞給 :meth:`~hash.update` 方法的資料之摘要。這是一個大小為 "
332
+ "*length* 的位元組物件,可能包含從 0 到 255 的整個範圍內的位元組。"
267
333
268
334
#: ../../library/hashlib.rst:252
269
335
msgid ""
270
336
"Like :meth:`digest` except the digest is returned as a string object of "
271
337
"double length, containing only hexadecimal digits. This may be used to "
272
338
"exchange the value in email or other non-binary environments."
273
339
msgstr ""
340
+ "與 :meth:`digest` 類似,只不過摘要作為雙倍長度的字串物件回傳,僅包含十六進位"
341
+ "數字。這可用於交換電子郵件或其他非二進位環境中的值。"
274
342
275
343
#: ../../library/hashlib.rst:256
276
344
msgid "Example use:"
277
345
msgstr "範例:"
278
346
279
347
#: ../../library/hashlib.rst:263
280
348
msgid "File hashing"
281
- msgstr ""
349
+ msgstr "檔案雜湊 "
282
350
283
351
#: ../../library/hashlib.rst:265
284
352
msgid ""
285
353
"The hashlib module provides a helper function for efficient hashing of a "
286
354
"file or file-like object."
287
355
msgstr ""
356
+ "hashlib 模組提供了一個輔助函式,用於對檔案或類檔案物件 (file-like object) 進"
357
+ "行有效率的雜湊。"
288
358
289
359
#: ../../library/hashlib.rst:270
290
360
msgid ""
291
361
"Return a digest object that has been updated with contents of file object."
292
- msgstr ""
362
+ msgstr "回傳已用檔案物件內容更新的摘要物件。 "
293
363
294
364
#: ../../library/hashlib.rst:272
295
365
msgid ""
@@ -301,20 +371,27 @@ msgid ""
301
371
"an unknown state after this function returns or raises. It is up to the "
302
372
"caller to close *fileobj*."
303
373
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*。"
304
379
305
380
#: ../../library/hashlib.rst:280
306
381
msgid ""
307
382
"*digest* must either be a hash algorithm name as a *str*, a hash "
308
383
"constructor, or a callable that returns a hash object."
309
384
msgstr ""
385
+ "*digest* 必須是名稱作為 *str* 的雜湊演算法、雜湊建構函式或會回傳雜湊物件的可"
386
+ "呼叫函式。"
310
387
311
388
#: ../../library/hashlib.rst:283
312
389
msgid "Example:"
313
390
msgstr "範例:"
314
391
315
392
#: ../../library/hashlib.rst:306
316
393
msgid "Key derivation"
317
- msgstr ""
394
+ msgstr "密鑰的生成 "
318
395
319
396
#: ../../library/hashlib.rst:308
320
397
msgid ""
@@ -324,12 +401,18 @@ msgid ""
324
401
"be tunable, slow, and include a `salt <https://en.wikipedia.org/wiki/"
325
402
"Salt_%28cryptography%29>`_."
326
403
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)>`_。"
327
408
328
409
#: ../../library/hashlib.rst:316
329
410
msgid ""
330
411
"The function provides PKCS#5 password-based key derivation function 2. It "
331
412
"uses HMAC as pseudorandom function."
332
413
msgstr ""
414
+ "該函式提供基於密碼的 PKCS#5 密鑰生成函式 2。它使用 HMAC 作為偽隨機函式 "
415
+ "(pseudorandom function)。"
333
416
334
417
#: ../../library/hashlib.rst:319
335
418
msgid ""
@@ -339,6 +422,10 @@ msgid ""
339
422
"sensible length (e.g. 1024). *salt* should be about 16 or more bytes from a "
340
423
"proper source, e.g. :func:`os.urandom`."
341
424
msgstr ""
425
+ "字串 *hash_name* 是 HMAC 的雜湊摘要演算法所需的名稱,例如 ``sha1`` 或 "
426
+ "``sha256``。*password* 和 *salt* 被直譯為位元組緩衝區。應用程式和函式庫應為 "
427
+ "*password* 設下合理的長度限制(例如 1024)。*salt* 應該是來自適當來源(例如 :"
428
+ "func:`os.urandom`)且大約 16 或更多位元組。"
342
429
343
430
#: ../../library/hashlib.rst:325
344
431
msgid ""
@@ -348,29 +435,37 @@ msgid ""
348
435
"your application, read *Appendix A.2.2* of NIST-SP-800-132_. The answers on "
349
436
"the `stackexchange pbkdf2 iterations question`_ explain in detail."
350
437
msgstr ""
438
+ "應根據雜湊演算法和計算能力選擇 *iterations* 次數。截至 2022 年,建議進行數十"
439
+ "萬次 SHA-256 疊代。有關為什麼以及如何選擇最適合你的應用程式的基本原理,請閱"
440
+ "讀 NIST-SP-800-132_ 的 *Appendix A.2.2*。`stackexchange pbkdf2 疊代問題`_\\ "
441
+ "上的答案有詳細解釋。"
351
442
352
443
#: ../../library/hashlib.rst:331
353
444
msgid ""
354
445
"*dklen* is the length of the derived key in bytes. If *dklen* is ``None`` "
355
446
"then the digest size of the hash algorithm *hash_name* is used, e.g. 64 for "
356
447
"SHA-512."
357
448
msgstr ""
449
+ "*dklen* 是生成的密鑰長度。如果 *dklen* 為 ``None``,則會使用雜湊演算法 "
450
+ "*hash_name* 的摘要大小,例如 SHA-512 為 64。"
358
451
359
452
#: ../../library/hashlib.rst:340
360
453
msgid "Function only available when Python is compiled with OpenSSL."
361
- msgstr ""
454
+ msgstr "僅當有使用 OpenSSL 編譯 Python 時該函式才可用。 "
362
455
363
456
#: ../../library/hashlib.rst:344
364
457
msgid ""
365
458
"Function now only available when Python is built with OpenSSL. The slow pure "
366
459
"Python implementation has been removed."
367
460
msgstr ""
461
+ "該函式現在僅在有使用 OpenSSL 建置 Python 時可用。緩慢的純 Python 實作已被刪"
462
+ "除。"
368
463
369
464
#: ../../library/hashlib.rst:350
370
465
msgid ""
371
466
"The function provides scrypt password-based key derivation function as "
372
467
"defined in :rfc:`7914`."
373
- msgstr ""
468
+ msgstr "該函式提供(如 :rfc:`7914` 中所定義的)scrypt 基於密碼的密鑰衍生函式。 "
374
469
375
470
#: ../../library/hashlib.rst:353
376
471
msgid ""
@@ -379,13 +474,18 @@ msgid ""
379
474
"length (e.g. 1024). *salt* should be about 16 or more bytes from a proper "
380
475
"source, e.g. :func:`os.urandom`."
381
476
msgstr ""
477
+ "*password* 和 *salt* 必須是\\ :term:`類位元組物件 <bytes-like object>`。應用"
478
+ "程式和函式庫應為 *password* 設下合理的長度限制(例如 1024)。*salt* 應該是來"
479
+ "自適當來源(例如 :func:`os.urandom`)且大約 16 或更多位元組。"
382
480
383
481
#: ../../library/hashlib.rst:358
384
482
msgid ""
385
483
"*n* is the CPU/Memory cost factor, *r* the block size, *p* parallelization "
386
484
"factor and *maxmem* limits memory (OpenSSL 1.1.0 defaults to 32 MiB). "
387
485
"*dklen* is the length of the derived key in bytes."
388
486
msgstr ""
487
+ "*n* 是 CPU/記憶體開銷係數、*r* 是區塊大小、*p* 為平行化係數、*maxmem* 為記憶"
488
+ "體限制(OpenSSL 1.1.0 預設為 32 MiB)。*dklen* 是生成密鑰的長度。"
389
489
390
490
#: ../../library/hashlib.rst:366
391
491
msgid "BLAKE2"
@@ -395,81 +495,95 @@ msgstr "BLAKE2"
395
495
msgid ""
396
496
"BLAKE2_ is a cryptographic hash function defined in :rfc:`7693` that comes "
397
497
"in two flavors:"
398
- msgstr ""
498
+ msgstr "BLAKE2_ 是在 :rfc:`7693` 中定義的加密雜湊函式,有兩種類型: "
399
499
400
500
#: ../../library/hashlib.rst:376
401
501
msgid ""
402
502
"**BLAKE2b**, optimized for 64-bit platforms and produces digests of any size "
403
503
"between 1 and 64 bytes,"
404
504
msgstr ""
505
+ "**BLAKE2b**,針對 64 位元平台進行了最佳化,可生成 1 到 64 位元組之間任意大小"
506
+ "的摘要,"
405
507
406
508
#: ../../library/hashlib.rst:379
407
509
msgid ""
408
510
"**BLAKE2s**, optimized for 8- to 32-bit platforms and produces digests of "
409
511
"any size between 1 and 32 bytes."
410
512
msgstr ""
513
+ "**BLAKE2s**,針對 8 至 32 位元平台進行了最佳化,可生成 1 至 32 位元組之間任意"
514
+ "大小的摘要。"
411
515
412
516
#: ../../library/hashlib.rst:382
413
517
msgid ""
414
518
"BLAKE2 supports **keyed mode** (a faster and simpler replacement for HMAC_), "
415
519
"**salted hashing**, **personalization**, and **tree hashing**."
416
520
msgstr ""
521
+ "BLAKE2 支援\\ **密鑰模式 (keyed mode)** (更快、更簡單的 HMAC_ 替代品)、**加"
522
+ "鹽雜湊 (salted hashing)**、**個人化**\\ 和\\ **樹狀雜湊**。"
417
523
418
524
#: ../../library/hashlib.rst:385
419
525
msgid ""
420
526
"Hash objects from this module follow the API of standard library's :mod:"
421
527
"`hashlib` objects."
422
- msgstr ""
528
+ msgstr "該模組中的雜湊物件遵循標準函式庫的 :mod:`hashlib` 物件 API。 "
423
529
424
530
#: ../../library/hashlib.rst:390
425
531
msgid "Creating hash objects"
426
- msgstr ""
532
+ msgstr "建立雜湊物件 "
427
533
428
534
#: ../../library/hashlib.rst:392
429
535
msgid "New hash objects are created by calling constructor functions:"
430
- msgstr ""
536
+ msgstr "新的雜湊物件是透過呼叫建構函式建立的: "
431
537
432
538
#: ../../library/hashlib.rst:406
433
539
msgid ""
434
540
"These functions return the corresponding hash objects for calculating "
435
541
"BLAKE2b or BLAKE2s. They optionally take these general parameters:"
436
542
msgstr ""
543
+ "這些函式回傳相應的雜湊物件以計算 BLAKE2b 或 BLAKE2s。他們可以選擇採用這些通用"
544
+ "參數:"
437
545
438
546
#: ../../library/hashlib.rst:409
439
547
msgid ""
440
548
"*data*: initial chunk of data to hash, which must be :term:`bytes-like "
441
549
"object`. It can be passed only as positional argument."
442
550
msgstr ""
551
+ "*data*:要雜湊的初始資料塊 (data chunk),它必須是\\ :term:`類位元組物件 "
552
+ "<bytes-like object>`。它只能作為位置引數傳遞。"
443
553
444
554
#: ../../library/hashlib.rst:412
445
555
msgid "*digest_size*: size of output digest in bytes."
446
- msgstr ""
556
+ msgstr "*digest_size*:輸出摘要的大小(以位元組為單位)。 "
447
557
448
558
#: ../../library/hashlib.rst:414
449
559
msgid ""
450
560
"*key*: key for keyed hashing (up to 64 bytes for BLAKE2b, up to 32 bytes for "
451
561
"BLAKE2s)."
452
562
msgstr ""
563
+ "*key*:用於密鑰雜湊的密鑰(BLAKE2b 最多 64 位元組、BLAKE2s 最多 32 位元組)。"
453
564
454
565
#: ../../library/hashlib.rst:417
455
566
msgid ""
456
567
"*salt*: salt for randomized hashing (up to 16 bytes for BLAKE2b, up to 8 "
457
568
"bytes for BLAKE2s)."
458
569
msgstr ""
570
+ "*salt*:用於隨機雜湊的鹽(BLAKE2b 最多 16 個位元組、BLAKE2s 最多 8 個位元"
571
+ "組)。"
459
572
460
573
#: ../../library/hashlib.rst:420
461
574
msgid ""
462
575
"*person*: personalization string (up to 16 bytes for BLAKE2b, up to 8 bytes "
463
576
"for BLAKE2s)."
464
577
msgstr ""
578
+ "*person*:個人化字串(BLAKE2b 最多 16 個位元組、BLAKE2s 最多 8 個位元組)。"
465
579
466
580
#: ../../library/hashlib.rst:423
467
581
msgid "The following table shows limits for general parameters (in bytes):"
468
- msgstr ""
582
+ msgstr "下表顯示了一般參數的限制(以位元組為單位): "
469
583
470
584
#: ../../library/hashlib.rst:426
471
585
msgid "Hash"
472
- msgstr ""
586
+ msgstr "雜湊 "
473
587
474
588
#: ../../library/hashlib.rst:426
475
589
msgid "digest_size"
@@ -520,93 +634,106 @@ msgid ""
520
634
"example, ``b'salt'`` and ``b'salt\\ x00'`` is the same value. (This is not "
521
635
"the case for *key*.)"
522
636
msgstr ""
637
+ "BLAKE2 規範定義了鹽和個人化參數的恆定長度,但為了方便起見,此實作接受任意大小"
638
+ "的位元組字串,最多可達指定長度。如果參數的長度小於指定的長度,則用零補滿,所"
639
+ "以像是 ``b'salt`` 和 ``b'salt\\ x00`` 是相同的值。(但 *key* 的情況並非如"
640
+ "此。)"
523
641
524
642
#: ../../library/hashlib.rst:441
525
643
msgid "These sizes are available as module `constants`_ described below."
526
- msgstr ""
644
+ msgstr "這些大小可作為模組 \\ `常數 <constants_>`_ \\ 使用,如下所述。 "
527
645
528
646
#: ../../library/hashlib.rst:443
529
647
msgid ""
530
648
"Constructor functions also accept the following tree hashing parameters:"
531
- msgstr ""
649
+ msgstr "建構函式還接受以下樹狀雜湊參數: "
532
650
533
651
#: ../../library/hashlib.rst:445
534
652
msgid "*fanout*: fanout (0 to 255, 0 if unlimited, 1 in sequential mode)."
535
- msgstr ""
653
+ msgstr "*fanout*:扇出(0 到 255,如果無限制則為 0、順序模式為 1)。 "
536
654
537
655
#: ../../library/hashlib.rst:447
538
656
msgid ""
539
657
"*depth*: maximal depth of tree (1 to 255, 255 if unlimited, 1 in sequential "
540
658
"mode)."
541
- msgstr ""
659
+ msgstr "*depth*:樹的最大深度(1 到 255,如果無限制則為 255、順序模式為 1)。 "
542
660
543
661
#: ../../library/hashlib.rst:450
544
662
msgid ""
545
663
"*leaf_size*: maximal byte length of leaf (0 to ``2**32-1``, 0 if unlimited "
546
664
"or in sequential mode)."
547
665
msgstr ""
666
+ "*leaf_size*:葉的最大位元組長度(0 到 ``2**32-1``,如果無限制或處於順序模式則"
667
+ "為 0)。"
548
668
549
669
#: ../../library/hashlib.rst:453
550
670
msgid ""
551
671
"*node_offset*: node offset (0 to ``2**64-1`` for BLAKE2b, 0 to ``2**48-1`` "
552
672
"for BLAKE2s, 0 for the first, leftmost, leaf, or in sequential mode)."
553
673
msgstr ""
674
+ "*node_offset*:節點偏移量(BLAKE2b 為 0 到 ``2**64-1``,BLAKE2s 為 0 到 "
675
+ "``2**48-1``,0 表示第一個、最左邊、葉子或在順序模式下)。"
554
676
555
677
#: ../../library/hashlib.rst:456
556
678
msgid ""
557
679
"*node_depth*: node depth (0 to 255, 0 for leaves, or in sequential mode)."
558
- msgstr ""
680
+ msgstr "*node_depth*:節點深度(0 到 255,葉為 0,或在順序模式下)。 "
559
681
560
682
#: ../../library/hashlib.rst:458
561
683
msgid ""
562
684
"*inner_size*: inner digest size (0 to 64 for BLAKE2b, 0 to 32 for BLAKE2s, 0 "
563
685
"in sequential mode)."
564
686
msgstr ""
687
+ "*inner_size*:內部摘要大小(BLAKE2b 為 0 到 64,BLAKE2s 為 0 到 32,順序模式"
688
+ "為 0)。"
565
689
566
690
#: ../../library/hashlib.rst:461
567
691
msgid ""
568
692
"*last_node*: boolean indicating whether the processed node is the last one "
569
693
"(``False`` for sequential mode)."
570
694
msgstr ""
695
+ "*last_node*:布林值,代表處理的節點是否為最後一個(``False`` 代表順序模式)。"
571
696
572
- #: ../../library/hashlib.rst:464
697
+ #: ../../library/hashlib.rst: -1
573
698
msgid "Explanation of tree mode parameters."
574
- msgstr ""
699
+ msgstr "樹狀模式參數說明。 "
575
700
576
701
#: ../../library/hashlib.rst:468
577
702
msgid ""
578
703
"See section 2.10 in `BLAKE2 specification <https://www.blake2.net/"
579
704
"blake2_20130129.pdf>`_ for comprehensive review of tree hashing."
580
705
msgstr ""
706
+ "關於樹狀雜湊的綜合回顧,請參閱 `BLAKE2 規範 <https://www.blake2.net/"
707
+ "blake2_20130129.pdf>`_\\ 中的第 2.10 節。"
581
708
582
709
#: ../../library/hashlib.rst:474
583
710
msgid "Constants"
584
711
msgstr "常數"
585
712
586
713
#: ../../library/hashlib.rst:479
587
714
msgid "Salt length (maximum length accepted by constructors)."
588
- msgstr ""
715
+ msgstr "鹽長度(建構函式接受的最大長度)。 "
589
716
590
717
#: ../../library/hashlib.rst:485
591
718
msgid ""
592
719
"Personalization string length (maximum length accepted by constructors)."
593
- msgstr ""
720
+ msgstr "個人化字串長度(建構函式接受的最大長度)。 "
594
721
595
722
#: ../../library/hashlib.rst:491
596
723
msgid "Maximum key size."
597
- msgstr ""
724
+ msgstr "最大密鑰大小。 "
598
725
599
726
#: ../../library/hashlib.rst:497
600
727
msgid "Maximum digest size that the hash function can output."
601
- msgstr ""
728
+ msgstr "雜湊函式可以輸出的最大摘要大小。 "
602
729
603
730
#: ../../library/hashlib.rst:501
604
731
msgid "Examples"
605
732
msgstr "範例"
606
733
607
734
#: ../../library/hashlib.rst:504
608
735
msgid "Simple hashing"
609
- msgstr ""
736
+ msgstr "簡單雜湊 "
610
737
611
738
#: ../../library/hashlib.rst:506
612
739
msgid ""
@@ -616,40 +743,51 @@ msgid ""
616
743
"the object, and, finally, get the digest out of the object by calling :meth:"
617
744
"`~hash.digest` (or :meth:`~hash.hexdigest` for hex-encoded string)."
618
745
msgstr ""
746
+ "要計算某些資料的雜湊值,你應該首先透過呼叫適當的建構函式(:func:`blake2b` "
747
+ "或 :func:`blake2s`)以建構一個雜湊物件,然後透過於物件呼叫 :meth:`~hash."
748
+ "update` 來以資料對它更新,最後透過呼叫 :meth:`~hash.digest`\\ (或對於十六進"
749
+ "位編碼字串則為 :meth:`~hash.hexdigest`)從物件中獲得摘要。"
619
750
620
751
#: ../../library/hashlib.rst:519
621
752
msgid ""
622
753
"As a shortcut, you can pass the first chunk of data to update directly to "
623
754
"the constructor as the positional argument:"
624
755
msgstr ""
756
+ "作為一個快捷方式,你可以將要更新的第一個資料塊作為位置引數直接傳遞給建構函"
757
+ "式:"
625
758
626
759
#: ../../library/hashlib.rst:526
627
760
msgid ""
628
761
"You can call :meth:`hash.update` as many times as you need to iteratively "
629
762
"update the hash:"
630
- msgstr ""
763
+ msgstr "你可以根據需求來多次呼叫 :meth:`hash.update` 以疊代更新雜湊: "
631
764
632
765
#: ../../library/hashlib.rst:540
633
766
msgid "Using different digest sizes"
634
- msgstr ""
767
+ msgstr "使用不同的摘要大小 "
635
768
636
769
#: ../../library/hashlib.rst:542
637
770
msgid ""
638
771
"BLAKE2 has configurable size of digests up to 64 bytes for BLAKE2b and up to "
639
772
"32 bytes for BLAKE2s. For example, to replace SHA-1 with BLAKE2b without "
640
773
"changing the size of output, we can tell BLAKE2b to produce 20-byte digests:"
641
774
msgstr ""
775
+ "BLAKE2 有可調整的摘要大小,BLAKE2b 最多為 64 位元組,BLAKE2s 最多為 32 位元"
776
+ "組。例如,要在不改變輸出大小的情況下用 BLAKE2b 替換 SHA-1,我們可以指定 "
777
+ "BLAKE2b 生成 20 位元組的摘要:"
642
778
643
779
#: ../../library/hashlib.rst:556
644
780
msgid ""
645
781
"Hash objects with different digest sizes have completely different outputs "
646
782
"(shorter hashes are *not* prefixes of longer hashes); BLAKE2b and BLAKE2s "
647
783
"produce different outputs even if the output length is the same:"
648
784
msgstr ""
785
+ "具有不同摘要大小的雜湊物件具有完全不同的輸出(較短的雜湊值\\ *不是*\\ 較長雜"
786
+ "湊值的前綴);即使輸出長度相同,BLAKE2b 和 BLAKE2s 也會產生不同的輸出:"
649
787
650
788
#: ../../library/hashlib.rst:572
651
789
msgid "Keyed hashing"
652
- msgstr ""
790
+ msgstr "密鑰雜湊 (Keyed hashing) "
653
791
654
792
#: ../../library/hashlib.rst:574
655
793
msgid ""
@@ -658,35 +796,47 @@ msgid ""
658
796
"wikipedia.org/wiki/HMAC>`_ (HMAC). BLAKE2 can be securely used in prefix-MAC "
659
797
"mode thanks to the indifferentiability property inherited from BLAKE."
660
798
msgstr ""
799
+ "密鑰雜湊可用於身份驗證,作為\\ `基於雜湊的訊息驗證碼 (Hash-based message "
800
+ "authentication code) <https://zh.wikipedia.org/zh-tw/HMAC>`_ (HMAC) 的更快、更"
801
+ "簡單的替代方案。由於繼承自 BLAKE 的不可微特性 (indifferentiability "
802
+ "property),BLAKE2 可以安全地用於 prefix-MAC 模式。"
661
803
662
804
#: ../../library/hashlib.rst:580
663
805
msgid ""
664
806
"This example shows how to get a (hex-encoded) 128-bit authentication code "
665
807
"for message ``b'message data'`` with key ``b'pseudorandom key'``::"
666
808
msgstr ""
809
+ "此範例示範了如何使用密鑰 ``b'pseudorandom key'`` 獲取訊息 ``b'message "
810
+ "data'`` 的(十六進位編碼)128 位元驗證碼: ::"
667
811
668
812
#: ../../library/hashlib.rst:590
669
813
msgid ""
670
814
"As a practical example, a web application can symmetrically sign cookies "
671
815
"sent to users and later verify them to make sure they weren't tampered with::"
672
816
msgstr ""
817
+ "舉一個實際的例子,網頁應用程式可以對發送給使用者的 cookie 進行對稱簽名 "
818
+ "(symmetrically sign),然後驗證它們以確保它們沒有被篡改: ::"
673
819
674
820
#: ../../library/hashlib.rst:619
675
821
msgid ""
676
822
"Even though there's a native keyed hashing mode, BLAKE2 can, of course, be "
677
823
"used in HMAC construction with :mod:`hmac` module::"
678
824
msgstr ""
825
+ "儘管有原生密鑰雜湊模式,BLAKE2 還是可以透過 :mod:`hmac` 模組用於建構 "
826
+ "HMAC: ::"
679
827
680
828
#: ../../library/hashlib.rst:630
681
829
msgid "Randomized hashing"
682
- msgstr ""
830
+ msgstr "隨機雜湊 (Randomized hashing) "
683
831
684
832
#: ../../library/hashlib.rst:632
685
833
msgid ""
686
834
"By setting *salt* parameter users can introduce randomization to the hash "
687
835
"function. Randomized hashing is useful for protecting against collision "
688
836
"attacks on the hash function used in digital signatures."
689
837
msgstr ""
838
+ "透過設定 *salt* 參數,使用者可以向雜湊函式引入隨機化。隨機雜湊在防止針對數位"
839
+ "簽章中雜湊函式的碰撞攻擊 (collision attacks) 非常有用。"
690
840
691
841
#: ../../library/hashlib.rst:636
692
842
msgid ""
@@ -708,18 +858,33 @@ msgid ""
708
858
"hashing may reduce the amount of security provided by a digital signature "
709
859
"when all portions of the message are prepared by the signer."
710
860
msgstr ""
861
+ "隨機雜湊是為這樣的情況而設計的:一方(訊息準備者)生成全部或部分訊息並由另一"
862
+ "方(訊息簽名者)簽名。如果訊息準備者能夠發現加密雜湊函式發生碰撞(collision,"
863
+ "即兩條訊息產生相同的雜湊值),那麼他們可能會準備有意義的訊息版本,該版本將產"
864
+ "生相同的雜湊值和數位簽章,但結果不同(例如,將 $1,000,000 轉入賬戶,而不是 "
865
+ "$10)。加密雜湊函式的設計以抗碰撞性為主要目標,但當前對加密雜湊函式攻擊的關注"
866
+ "可能會導致給定的加密雜湊函式所提供的抗碰撞性低於預期。隨機雜湊透過降低準備者"
867
+ "在數位簽章生成過程中生成最終產生相同雜湊值的兩個或多個訊息的可能性,為簽名者"
868
+ "提供額外的保護 —— 即便嘗試去找到雜湊函式碰撞的發生是實際可行的。然而,若訊息"
869
+ "的所有部分都是由簽名者所準備好的,使用隨機雜湊可能會降低數位簽章提供的安全"
870
+ "性。"
711
871
712
872
#: ../../library/hashlib.rst:655
713
873
msgid ""
714
874
"(`NIST SP-800-106 \" Randomized Hashing for Digital Signatures\" <https://"
715
875
"csrc.nist.gov/publications/detail/sp/800-106/archive/2009-02-25>`_)"
716
876
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>`_)"
717
880
718
881
#: ../../library/hashlib.rst:658
719
882
msgid ""
720
883
"In BLAKE2 the salt is processed as a one-time input to the hash function "
721
884
"during initialization, rather than as an input to each compression function."
722
885
msgstr ""
886
+ "在 BLAKE2 中,鹽在初始化期間作為雜湊函式的一次性輸入被處理,而不是作為每個壓"
887
+ "縮函式的輸入。"
723
888
724
889
#: ../../library/hashlib.rst:663
725
890
msgid ""
@@ -728,17 +893,22 @@ msgid ""
728
893
"passwords. See `BLAKE2 FAQ <https://www.blake2.net/#qa>`_ for more "
729
894
"information."
730
895
msgstr ""
896
+ "使用 BLAKE2 或任何其他通用加密雜湊函式(例如 SHA-256)的\\ *加鹽雜湊* (或單"
897
+ "純雜湊)不適合對密碼進行雜湊處理。有關更多資訊,請參閱 `BLAKE2 FAQ <https://"
898
+ "www.blake2.net/#qa>`_ 。"
731
899
732
900
#: ../../library/hashlib.rst:686
733
901
msgid "Personalization"
734
- msgstr ""
902
+ msgstr "個人化 "
735
903
736
904
#: ../../library/hashlib.rst:688
737
905
msgid ""
738
906
"Sometimes it is useful to force hash function to produce different digests "
739
907
"for the same input for different purposes. Quoting the authors of the Skein "
740
908
"hash function:"
741
909
msgstr ""
910
+ "有時候強制雜湊函式為不同目的的相同輸入生成不同的摘要是很有用的。引用 Skein 雜"
911
+ "湊函式的作者的話:"
742
912
743
913
#: ../../library/hashlib.rst:692
744
914
msgid ""
@@ -749,40 +919,46 @@ msgid ""
749
919
"force the application to make the hash inputs the same. Personalizing each "
750
920
"hash function used in the protocol summarily stops this type of attack."
751
921
msgstr ""
922
+ "我們建議所有應用程式設計者認真考慮這樣做;我們已經看到許多協議,其中在協議的"
923
+ "一個部分中計算的雜湊可以在完全不同的部分中使用,因為兩次雜湊計算是在相似或相"
924
+ "關的資料上完成的,並且攻擊者可以強制應用程式將雜湊輸入設為相同的。對協議中使"
925
+ "用的每個雜湊函式進行個人化可以立即阻止此類攻擊。"
752
926
753
927
#: ../../library/hashlib.rst:699
754
928
msgid ""
755
929
"(`The Skein Hash Function Family <https://www.schneier.com/wp-content/"
756
930
"uploads/2016/02/skein.pdf>`_, p. 21)"
757
931
msgstr ""
932
+ "(`Skein 雜湊函式系列 <https://www.schneier.com/wp-content/uploads/2016/02/"
933
+ "skein.pdf>`_,第 21 頁)"
758
934
759
935
#: ../../library/hashlib.rst:703
760
936
msgid "BLAKE2 can be personalized by passing bytes to the *person* argument::"
761
- msgstr ""
937
+ msgstr "BLAKE2 可以透過將位元組傳遞給 *person* 引數來做個人化: :: "
762
938
763
939
#: ../../library/hashlib.rst:717
764
940
msgid ""
765
941
"Personalization together with the keyed mode can also be used to derive "
766
942
"different keys from a single one."
767
- msgstr ""
943
+ msgstr "個人化與密鑰模式還可以一起用於從單個密鑰得出不同的密鑰。 "
768
944
769
945
#: ../../library/hashlib.rst:731
770
946
msgid "Tree mode"
771
- msgstr ""
947
+ msgstr "樹狀模式 "
772
948
773
949
#: ../../library/hashlib.rst:733
774
950
msgid "Here's an example of hashing a minimal tree with two leaf nodes::"
775
- msgstr ""
951
+ msgstr "下面是對具有兩個葉節點的最小樹進行雜湊處理的範例: :: "
776
952
777
953
#: ../../library/hashlib.rst:739
778
954
msgid ""
779
955
"This example uses 64-byte internal digests, and returns the 32-byte final "
780
956
"digest::"
781
- msgstr ""
957
+ msgstr "此範例使用 64-byte 內部摘要,並回傳 32-byte 最終摘要: :: "
782
958
783
959
#: ../../library/hashlib.rst:769
784
960
msgid "Credits"
785
- msgstr ""
961
+ msgstr "製作人員 "
786
962
787
963
#: ../../library/hashlib.rst:771
788
964
msgid ""
@@ -791,96 +967,110 @@ msgid ""
791
967
"created by *Jean-Philippe Aumasson*, *Luca Henzen*, *Willi Meier*, and "
792
968
"*Raphael C.-W. Phan*."
793
969
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_。"
794
974
795
975
#: ../../library/hashlib.rst:776
796
976
msgid ""
797
977
"It uses core algorithm from ChaCha_ cipher designed by *Daniel J. "
798
978
"Bernstein*."
799
- msgstr ""
979
+ msgstr "它使用 *Daniel J. Bernstein* 設計的 ChaCha_ 密碼的核心演算法。 "
800
980
801
981
#: ../../library/hashlib.rst:778
802
982
msgid ""
803
983
"The stdlib implementation is based on pyblake2_ module. It was written by "
804
984
"*Dmitry Chestnykh* based on C implementation written by *Samuel Neves*. The "
805
985
"documentation was copied from pyblake2_ and written by *Dmitry Chestnykh*."
806
986
msgstr ""
987
+ "標準函式庫實作是基於 pyblake2_ 模組。它是由 *Dmitry Chestnykh* 在 *Samuel "
988
+ "Neves* 的 C 版本實作為基礎所編寫的。該文件是由 *Dmitry Chestnykh* 編寫並從 "
989
+ "pyblake2_ 複製過來的。"
807
990
808
991
#: ../../library/hashlib.rst:782
809
992
msgid "The C code was partly rewritten for Python by *Christian Heimes*."
810
- msgstr ""
993
+ msgstr "*Christian Heimes* 為 Python 重寫了部分 C 程式碼。 "
811
994
812
995
#: ../../library/hashlib.rst:784
813
996
msgid ""
814
997
"The following public domain dedication applies for both C hash function "
815
998
"implementation, extension code, and this documentation:"
816
- msgstr ""
999
+ msgstr "以下公開領域貢獻適用於 C 雜湊函式實作、擴充程式碼和此文件: "
817
1000
818
1001
#: ../../library/hashlib.rst:787
819
1002
msgid ""
820
1003
"To the extent possible under law, the author(s) have dedicated all copyright "
821
1004
"and related and neighboring rights to this software to the public domain "
822
1005
"worldwide. This software is distributed without any warranty."
823
1006
msgstr ""
1007
+ "在法律允許的範圍內,作者已將該軟體的所有版權以及相關和鄰接權利奉獻給全球的公"
1008
+ "開領域。該軟體的發布沒有任何授權 (warranty)。"
824
1009
825
1010
#: ../../library/hashlib.rst:791
826
1011
msgid ""
827
1012
"You should have received a copy of the CC0 Public Domain Dedication along "
828
1013
"with this software. If not, see https://creativecommons.org/publicdomain/"
829
1014
"zero/1.0/."
830
1015
msgstr ""
1016
+ "你應會隨本軟體一起收到一份 CC0 公眾領域貢獻宣告 (CC0 Public Domain "
1017
+ "Dedication) 的副本。如果沒有,請參閱 https://creativecommons.org/"
1018
+ "publicdomain/zero/1.0/ 。"
831
1019
832
1020
#: ../../library/hashlib.rst:795
833
1021
msgid ""
834
1022
"The following people have helped with development or contributed their "
835
1023
"changes to the project and the public domain according to the Creative "
836
1024
"Commons Public Domain Dedication 1.0 Universal:"
837
1025
msgstr ""
1026
+ "以下人員根據創用 CC 通用公眾領域貢獻宣告 1.0 (Creative Commons Public Domain "
1027
+ "Dedication 1.0 Universal) 於專案和公開領域做出了開發或貢獻:"
838
1028
839
1029
#: ../../library/hashlib.rst:799
840
1030
msgid "*Alexandr Sokolovskiy*"
841
1031
msgstr "*Alexandr Sokolovskiy*"
842
1032
843
- #: ../../library/hashlib.rst:819
1033
+ #: ../../library/hashlib.rst:820
844
1034
msgid "Module :mod:`hmac`"
845
1035
msgstr ":mod:`hmac` 模組"
846
1036
847
1037
#: ../../library/hashlib.rst:820
848
1038
msgid "A module to generate message authentication codes using hashes."
849
- msgstr ""
1039
+ msgstr "使用雜湊生成訊息驗證程式碼的模組。 "
850
1040
851
- #: ../../library/hashlib.rst:822
1041
+ #: ../../library/hashlib.rst:823
852
1042
msgid "Module :mod:`base64`"
853
1043
msgstr ":mod:`base64` 模組"
854
1044
855
1045
#: ../../library/hashlib.rst:823
856
1046
msgid "Another way to encode binary hashes for non-binary environments."
857
- msgstr ""
1047
+ msgstr "另一種在非二進位環境中編碼二進位雜湊的方法。 "
858
1048
859
- #: ../../library/hashlib.rst:825
1049
+ #: ../../library/hashlib.rst:826
860
1050
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 "
862
1052
863
1053
#: ../../library/hashlib.rst:826
864
1054
msgid "The FIPS 180-4 publication on Secure Hash Algorithms."
865
- msgstr ""
1055
+ msgstr "有關安全雜湊演算法的 FIPS 180-4 出版物。 "
866
1056
867
- #: ../../library/hashlib.rst:828
1057
+ #: ../../library/hashlib.rst:829
868
1058
msgid "https://csrc.nist.gov/publications/detail/fips/202/final"
869
- msgstr ""
1059
+ msgstr "https://csrc.nist.gov/publications/detail/fips/202/final "
870
1060
871
1061
#: ../../library/hashlib.rst:829
872
1062
msgid "The FIPS 202 publication on the SHA-3 Standard."
873
- msgstr ""
1063
+ msgstr "有關 SHA-3 標準的 FIPS 202 出版物。 "
874
1064
875
- #: ../../library/hashlib.rst:831
1065
+ #: ../../library/hashlib.rst:832
876
1066
msgid "https://www.blake2.net/"
877
1067
msgstr "https://www.blake2.net/"
878
1068
879
1069
#: ../../library/hashlib.rst:832
880
1070
msgid "Official BLAKE2 website."
881
1071
msgstr "BLAKE2 官方網站。"
882
1072
883
- #: ../../library/hashlib.rst:834
1073
+ #: ../../library/hashlib.rst:836
884
1074
msgid "https://en.wikipedia.org/wiki/Cryptographic_hash_function"
885
1075
msgstr "https://en.wikipedia.org/wiki/Cryptographic_hash_function"
886
1076
@@ -889,14 +1079,16 @@ msgid ""
889
1079
"Wikipedia article with information on which algorithms have known issues and "
890
1080
"what that means regarding their use."
891
1081
msgstr ""
1082
+ "包含有關哪些演算法存在已知問題以及這些問題對其使用意味著什麼資訊的維基百科文"
1083
+ "章。"
892
1084
893
- #: ../../library/hashlib.rst:838
1085
+ #: ../../library/hashlib.rst:839
894
1086
msgid "https://www.ietf.org/rfc/rfc8018.txt"
895
1087
msgstr "https://www.ietf.org/rfc/rfc8018.txt"
896
1088
897
1089
#: ../../library/hashlib.rst:839
898
1090
msgid "PKCS #5: Password-Based Cryptography Specification Version 2.1"
899
- msgstr ""
1091
+ msgstr "PKCS #5:基於密碼的加密規範版本 2.1 "
900
1092
901
1093
#: ../../library/hashlib.rst:841
902
1094
msgid ""
@@ -906,17 +1098,19 @@ msgstr ""
906
1098
907
1099
#: ../../library/hashlib.rst:842
908
1100
msgid "NIST Recommendation for Password-Based Key Derivation."
909
- msgstr ""
1101
+ msgstr "NIST(美國國家標準技術研究院)針對基於密碼的密鑰衍生的建議。 "
910
1102
911
1103
#: ../../library/hashlib.rst:12
912
1104
msgid "message digest, MD5"
913
- msgstr ""
1105
+ msgstr "message digest(訊息摘要)、MD5 "
914
1106
915
1107
#: ../../library/hashlib.rst:12
916
1108
msgid ""
917
1109
"secure hash algorithm, SHA1, SHA2, SHA224, SHA256, SHA384, SHA512, SHA3, "
918
1110
"Shake, Blake2"
919
1111
msgstr ""
1112
+ "安全雜湊演算法、SHA1、SHA2、SHA224、SHA256、SHA384、SHA512、SHA3、Shake、"
1113
+ "Blake2"
920
1114
921
1115
#: ../../library/hashlib.rst:55
922
1116
msgid "OpenSSL"
@@ -929,6 +1123,3 @@ msgstr "(使用於 hashlib 模組中)"
929
1123
#: ../../library/hashlib.rst:370
930
1124
msgid "blake2b, blake2s"
931
1125
msgstr "blake2b, blake2s"
932
-
933
- #~ msgid ":func:`blake2b` and :func:`blake2s` were added."
934
- #~ msgstr "加入 :func:`blake2b` 和 :func:`blake2s`。"
0 commit comments