-
-
Notifications
You must be signed in to change notification settings - Fork 53
Expand file tree
/
Copy pathsecrets.po
More file actions
301 lines (263 loc) · 12.8 KB
/
secrets.po
File metadata and controls
301 lines (263 loc) · 12.8 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
# SOME DESCRIPTIVE TITLE.
# Copyright (C) 2001-2017, Python Software Foundation
# This file is distributed under the same license as the Python package.
# FIRST AUTHOR <EMAIL@ADDRESS>, 2017.
#
msgid ""
msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2025-04-17 23:44+0000\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: Dong-gweon Oh <flowdas@gmail.com>\n"
"Language-Team: Korean (https://python.flowdas.com)\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.17.0\n"
#: ../../library/secrets.rst:2
msgid ":mod:`!secrets` --- Generate secure random numbers for managing secrets"
msgstr ":mod:`!secrets` --- 비밀 관리를 위한 안전한 난수 생성"
#: ../../library/secrets.rst:16
msgid "**Source code:** :source:`Lib/secrets.py`"
msgstr "**소스 코드:** :source:`Lib/secrets.py`"
#: ../../library/secrets.rst:20
msgid ""
"The :mod:`secrets` module is used for generating cryptographically strong"
" random numbers suitable for managing data such as passwords, account "
"authentication, security tokens, and related secrets."
msgstr ""
":mod:`secrets` 모듈은 암호, 계정 인증, 보안 토큰 및 관련 비밀과 같은 데이터를 관리하는 데 적합한 암호학적으로 "
"강력한 난수를 생성하는 데 사용됩니다."
#: ../../library/secrets.rst:24
msgid ""
"In particular, :mod:`secrets` should be used in preference to the default"
" pseudo-random number generator in the :mod:`random` module, which is "
"designed for modelling and simulation, not security or cryptography."
msgstr ""
"특히, :mod:`secrets`\\는 보안이나 암호화가 아닌 모델링과 시뮬레이션용으로 설계된 :mod:`random` 모듈의 기본"
" 의사 난수 생성기보다 먼저 사용해야 합니다."
#: ../../library/secrets.rst:30
msgid ":pep:`506`"
msgstr ":pep:`506`"
#: ../../library/secrets.rst:34
msgid "Random numbers"
msgstr "난수"
#: ../../library/secrets.rst:36
msgid ""
"The :mod:`secrets` module provides access to the most secure source of "
"randomness that your operating system provides."
msgstr ":mod:`secrets` 모듈은 운영 체제가 제공하는 가장 안전한 무작위 소스에 대한 액세스를 제공합니다."
#: ../../library/secrets.rst:41
msgid ""
"A class for generating random numbers using the highest-quality sources "
"provided by the operating system. See :class:`random.SystemRandom` for "
"additional details."
msgstr ""
"운영 체제에서 제공하는 최고 품질의 소스를 사용하여 난수를 생성하는 클래스. 자세한 내용은 "
":class:`random.SystemRandom`\\를 참조하십시오."
#: ../../library/secrets.rst:47
msgid "Return a randomly chosen element from a non-empty sequence."
msgstr "비어있지 않은 시퀀스로부터 무작위로 선택된 요소를 돌려줍니다."
#: ../../library/secrets.rst:51
msgid "Return a random int in the range [0, *exclusive_upper_bound*)."
msgstr "범위 [0, *exclusive_upper_bound*)에서 무작위 int를 돌려줍니다."
#: ../../library/secrets.rst:55
msgid "Return a non-negative int with *k* random bits."
msgstr "*k* 무작위 비트를 가지는 음이 아닌 int를 돌려줍니다."
#: ../../library/secrets.rst:59
msgid "Generating tokens"
msgstr "토큰 생성"
#: ../../library/secrets.rst:61
msgid ""
"The :mod:`secrets` module provides functions for generating secure "
"tokens, suitable for applications such as password resets, hard-to-guess "
"URLs, and similar."
msgstr ""
":mod:`secrets` 모듈은 암호 재설정, 추측하기 어려운 URL 등과 같은 응용에 적합한 보안 토큰을 생성하는 함수를 "
"제공합니다."
#: ../../library/secrets.rst:67
msgid ""
"Return a random byte string containing *nbytes* number of bytes. If "
"*nbytes* is ``None`` or not supplied, a reasonable default is used."
msgstr ""
"*nbytes* 바이트를 포함하는 임의의 바이트열을 반환합니다. *nbytes*\\가 ``None``\\이거나 제공되지 않으면, "
"적절한 기본값이 사용됩니다."
#: ../../library/secrets.rst:71
msgid ""
">>> token_bytes(16)\n"
"b'\\xebr\\x17D*t\\xae\\xd4\\xe3S\\xb6\\xe2\\xebP1\\x8b'"
msgstr ""
">>> token_bytes(16)\n"
"b'\\xebr\\x17D*t\\xae\\xd4\\xe3S\\xb6\\xe2\\xebP1\\x8b'"
#: ../../library/secrets.rst:79
msgid ""
"Return a random text string, in hexadecimal. The string has *nbytes* "
"random bytes, each byte converted to two hex digits. If *nbytes* is "
"``None`` or not supplied, a reasonable default is used."
msgstr ""
"무작위 16진수 텍스트 문자열을 돌려줍니다. 이 문자열에는 *nbytes* 무작위 바이트가 있으며, 각 바이트는 두 자리 16진수로"
" 변환됩니다. *nbytes*\\가 ``None``\\이거나 제공되지 않으면, 적절한 기본값이 사용됩니다."
#: ../../library/secrets.rst:83
msgid ""
">>> token_hex(16)\n"
"'f9bf78b9a18ce6d46a0cd2b0b86df9da'"
msgstr ""
">>> token_hex(16)\n"
"'f9bf78b9a18ce6d46a0cd2b0b86df9da'"
#: ../../library/secrets.rst:90
msgid ""
"Return a random URL-safe text string, containing *nbytes* random bytes. "
"The text is Base64 encoded, so on average each byte results in "
"approximately 1.3 characters. If *nbytes* is ``None`` or not supplied, a"
" reasonable default is used."
msgstr ""
"*nbytes*\\의 무작위 바이트를 포함한, URL 안전한 무작위 텍스트 문자열을 돌려줍니다. 텍스트는 Base64로 인코딩되어 "
"있으므로, 평균적으로 각 바이트는 약 1.3 문자가 됩니다. *nbytes*\\가 ``None``\\이거나 제공되지 않으면, 적절한"
" 기본값이 사용됩니다."
#: ../../library/secrets.rst:95
msgid ""
">>> token_urlsafe(16)\n"
"'Drmhze6EPcv0fN_81Bj-nA'"
msgstr ""
">>> token_urlsafe(16)\n"
"'Drmhze6EPcv0fN_81Bj-nA'"
#: ../../library/secrets.rst:102
msgid "How many bytes should tokens use?"
msgstr "토큰은 몇 바이트를 사용해야 합니까?"
#: ../../library/secrets.rst:104
msgid ""
"To be secure against `brute-force attacks <https://en.wikipedia.org/wiki"
"/Brute-force_attack>`_, tokens need to have sufficient randomness. "
"Unfortunately, what is considered sufficient will necessarily increase as"
" computers get more powerful and able to make more guesses in a shorter "
"period. As of 2015, it is believed that 32 bytes (256 bits) of "
"randomness is sufficient for the typical use-case expected for the "
":mod:`secrets` module."
msgstr ""
"`무차별 공격 <https://en.wikipedia.org/wiki/Brute-force_attack>`_\\으로부터 안전하려면,"
" 토큰에 충분한 무작위성이 있어야 합니다. 불행하게도, 컴퓨터가 더 강력해지고 더 짧은 기간에 더 많은 추측을 할 수 있게 됨에 "
"따라, 충분하다고 여겨지는 것은 필연적으로 증가합니다. 2015년 현재, :mod:`secrets` 모듈로 예상되는 일반적인 사용 "
"사례에는 32바이트(256비트)의 무작위성으로 충분하다고 여겨집니다."
#: ../../library/secrets.rst:112
msgid ""
"For those who want to manage their own token length, you can explicitly "
"specify how much randomness is used for tokens by giving an :class:`int` "
"argument to the various ``token_*`` functions. That argument is taken as"
" the number of bytes of randomness to use."
msgstr ""
"자신의 토큰 길이를 관리하려는 사용자는, 여러 ``token_*`` 함수에 :class:`int` 인자를 제공하여 토큰에 사용되는 "
"무작위성의 양을 명시적으로 지정할 수 있습니다. 이 인자는 사용할 무작위성의 바이트 수로 사용됩니다."
#: ../../library/secrets.rst:117
msgid ""
"Otherwise, if no argument is provided, or if the argument is ``None``, "
"the ``token_*`` functions will use a reasonable default instead."
msgstr "그렇지 않으면, 인자가 제공되지 않거나 인자가 ``None`` 이면, ``token_*`` 함수는 적절한 기본값을 대신 사용합니다."
#: ../../library/secrets.rst:122
msgid ""
"That default is subject to change at any time, including during "
"maintenance releases."
msgstr "이 기본값은 유지 보수 배포를 포함하여 언제든지 변경될 수 있습니다."
#: ../../library/secrets.rst:127
msgid "Other functions"
msgstr "기타 함수"
#: ../../library/secrets.rst:131
msgid ""
"Return ``True`` if strings or :term:`bytes-like objects <bytes-like "
"object>` *a* and *b* are equal, otherwise ``False``, using a \"constant-"
"time compare\" to reduce the risk of `timing attacks "
"<https://codahale.com/a-lesson-in-timing-attacks/>`_. See "
":func:`hmac.compare_digest` for additional details."
msgstr ""
"문자열 혹은 :term:`바이트열류 객체 <bytes-like object>` *a*\\와 *b*\\가 같으면 "
"``True``\\를, 그렇지 않으면 ``False``\\를 반환하는데, \"고정 시간 비교(constant-time "
"compare)\"를 사용하여 `타이밍 공격 <https://codahale.com/a-lesson-in-timing-"
"attacks/>`_\\의 위험을 줄입니다. 자세한 내용은 :func:`hmac.compare_digest`\\를 참조하십시오."
#: ../../library/secrets.rst:140
msgid "Recipes and best practices"
msgstr "조리법과 모범 사례"
#: ../../library/secrets.rst:142
msgid ""
"This section shows recipes and best practices for using :mod:`secrets` to"
" manage a basic level of security."
msgstr "이 절에서는 :mod:`secrets`\\를 사용하여 기본 보안 수준을 관리하는 조리법과 모범 사례를 보여줍니다."
#: ../../library/secrets.rst:145
msgid "Generate an eight-character alphanumeric password:"
msgstr "8문자 영숫자 암호 생성합니다:"
#: ../../library/secrets.rst:147
msgid ""
"import string\n"
"import secrets\n"
"alphabet = string.ascii_letters + string.digits\n"
"password = ''.join(secrets.choice(alphabet) for i in range(8))"
msgstr ""
"import string\n"
"import secrets\n"
"alphabet = string.ascii_letters + string.digits\n"
"password = ''.join(secrets.choice(alphabet) for i in range(8))"
#: ../../library/secrets.rst:157
msgid ""
"Applications should not :cwe:`store passwords in a recoverable format "
"<257>`, whether plain text or encrypted. They should be salted and "
"hashed using a cryptographically strong one-way (irreversible) hash "
"function."
msgstr ""
"응용 프로그램은 평문인지 암호문인지 관계없이, :cwe:`암호를 복원 가능한 형식으로 저장 <257>`\\해서는 안 됩니다. 이들은"
" 암호학적으로 강력한 단방향(비가역적) 해시 함수를 사용하여 솔트되고 해시 되어야 합니다."
#: ../../library/secrets.rst:163
msgid ""
"Generate a ten-character alphanumeric password with at least one "
"lowercase character, at least one uppercase character, and at least three"
" digits:"
msgstr "적어도 하나의 소문자, 적어도 하나의 대문자 및 적어도 3개의 숫자가 있는 10자의 영숫자 암호를 생성합니다:"
#: ../../library/secrets.rst:167
msgid ""
"import string\n"
"import secrets\n"
"alphabet = string.ascii_letters + string.digits\n"
"while True:\n"
" password = ''.join(secrets.choice(alphabet) for i in range(10))\n"
" if (any(c.islower() for c in password)\n"
" and any(c.isupper() for c in password)\n"
" and sum(c.isdigit() for c in password) >= 3):\n"
" break"
msgstr ""
"import string\n"
"import secrets\n"
"alphabet = string.ascii_letters + string.digits\n"
"while True:\n"
" password = ''.join(secrets.choice(alphabet) for i in range(10))\n"
" if (any(c.islower() for c in password)\n"
" and any(c.isupper() for c in password)\n"
" and sum(c.isdigit() for c in password) >= 3):\n"
" break"
#: ../../library/secrets.rst:180
msgid "Generate an `XKCD-style passphrase <https://xkcd.com/936/>`_:"
msgstr "`XKCD-스타일 암호문 <https://xkcd.com/936/>`_\\을 생성합니다:"
#: ../../library/secrets.rst:182
msgid ""
"import secrets\n"
"# On standard Linux systems, use a convenient dictionary file.\n"
"# Other platforms may need to provide their own word-list.\n"
"with open('/usr/share/dict/words') as f:\n"
" words = [word.strip() for word in f]\n"
" password = ' '.join(secrets.choice(words) for i in range(4))"
msgstr ""
"import secrets\n"
"# 표준 리눅스 시스템에서는, 편리한 딕셔너리 파일을 사용하십시오.\n"
"# 다른 플랫폼에서는, 자신의 단어 목록을 제공해야 할 수도 있습니다.\n"
"with open('/usr/share/dict/words') as f:\n"
" words = [word.strip() for word in f]\n"
" password = ' '.join(secrets.choice(words) for i in range(4))"
#: ../../library/secrets.rst:192
msgid ""
"Generate a hard-to-guess temporary URL containing a security token "
"suitable for password recovery applications:"
msgstr "암호 복구 응용에 적합한 보안 토큰을 포함하는 추측하기 어려운 임시 URL을 생성합니다:"
#: ../../library/secrets.rst:195
msgid ""
"import secrets\n"
"url = 'https://example.com/reset=' + secrets.token_urlsafe()"
msgstr ""
"import secrets\n"
"url = 'https://example.com/reset=' + secrets.token_urlsafe()"