summaryrefslogtreecommitdiff
path: root/PYTHON/Password & key = PATH.md
blob: a5dc4552960165f846f1e0704191b44ce2204bcb (plain)
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
```python
# Пример куска программы:
from django.conf import settings

def webhook(request):
	''' Обработчик вебхука от платежной системы '''
	api_token = settigs.MY_API_KEY # ключ берем из файла settings.py
	add_mailchimp_email_with_tag(email=request.POST.get('email',
								audience_name='DONATES',
								tag='DONATE')
```
==`vim config/settings.py`==
```sh
#..........

MY_API_KEY = os.getenv('MY_API_KEY')

#..........
```

### Уровни переменных окружения:

##### - OS  (операционная система)
```sh
sudo vim /etc/environment
#--------------
THIRD_VAR="123"
# будет видна после перезагрузки
```
##### - USER  (пользователь)
```sh
vim ~/.bashrc
#--------------
export USER_VAR=123
# exit
echo $USER_VAR
```
##### - SESSION  (сессия)
```sh
export SESSION_VAR=777
echo $SESSION_VAR
# после выхода из сессии переменная пропадает
```
##### - APPLICATION  (приложение)
```sh
vim setenv.sh
#--------------
#!bash/bin/env python3

export VAR1=123
export VAR1=12345
export VAR1=123567hbkjbjk
#--------------

# запустим скрипт:
. ./setenv.sh

# или
source ./setenv.sh

# Также можно сразу запускать приложение с установкой переменных,
> PYTHON_ENV=123 VAR=435 VAR2=jfhfg3 python testenv.py

```

```python
# Использование модуля < python-dotenv >
pip install python-dotenv

nvim .env
API_KEY='my_secret_key'
# Сразу добавляем этот файл в .gitignore !!!

# Программа:
from dotenv import load_dotenv

load_dotenv()

key = os.getenv('API_KEY')
print(key)

####################
# Скрытие пароля при вводе:
from getpass import getpass
import pyAesCrypt

password = getpass(promt='Пароль для расшифровки')
pyAesCrypt.decryptFile(
	"secret_data.aes",
	"secret_data.txt",
	password
)
```