Asymmetrisen salauksen tuki python-decouple-pakettiin
Project description
python-decouple-nacl
Asymmetrisesti salattujen asetuksien tuki python-decouple-paketissa.
Täydentää python-decouple-paketin määrittelemää Config-luokkaa siten, että
- kuvioon
!{...}täsmäävät merkkijonot asetuksen arvossa tunnistetaan salatuiksi merkkijonoiksi - aaltosulkeiden sisältö tulkitaan Base-64-koodattuna tavujonona
- tavujono puretaan selväkieliseksi yksityisellä avaimella
- kuvio korvataan tällä selväkielisellä tekstillä ennen mahdollisten
cast- jadefault-parametrien soveltamista.
Avaimet
Yksityinen avain poimitaan DECOUPLE_NACL_SK-asetusavaimella samasta AutoConfig- tai Config-oliosta kuin purettavat asetukset.
- avaimia voi olla useita pilkulla erotettuna
- kunkin avaimen arvo tulkitaan Base-64-koodattuna tavujonona
Mikäli myös julkinen avain on annettu asetusavaimella DECOUPLE_NACL_PK, tulkitaan tämäkin Base-64-tavujonona ja validoidaan yhdessä yksityisen avaimen kanssa.
Mikäli yksityisiä avaimia on asetettu useita, on julkisen avaimen asetus pakollinen: käytettävä yksityinen avain valitaan tämän perusteella.
Asennus
Paketti:
pip install python-decouple-nacl
Tuonti (kuten python-decouple-paketissa):
from decouple_nacl import config, ...
config(...)
Huomaa, että import-käsky tekee tarvittavat muutokset python-decouple-paketin
toteuttamiin luokkiin ja funktioihin; tarvittaessa voidaan tehdä pelkkä tyhjä tuonti:
import decouple_nacl
Käyttöönotto
Avainpari
from decouple_nacl_tyokalut import luo_avainpari
luo_avainpari() # Tulostaa yksityisen ja julkisen avaimen.
# TAI:
from nacl.public import PrivateKey
sk = PrivateKey.generate()
pk = pk.public_key
# Tallennetaan yksityinen avain omaan (suojattuun) .env-tiedostoonsa:
with open('/(1)/.env', 'w') as kahva:
kahva.write(
f'DECOUPLE_NACL_SK={base64.b64encode(sk.encode()).decode()}\n'
)
# Tallennetaan julkinen avain erilliseen, julkisesti (git) hallinnoituun
# .env-tiedostoonsa:
with open('/(2)/.env', 'w') as kahva:
kahva.write(
f'DECOUPLE_NACL_PK={base64.b64encode(pk.encode()).decode()}\n'
)
Salatut parametrit
Tulostetaan tarvittavat asetusparametrit salatussa muodossa. Tuloste viedään sellaisenaan julkiseen .env-tiedostoon.
from decouple_nacl_tyokalut import salaa_data
salaa_data('...') # sulkujen sisään DECOUPLE_NACL_PK-parametrin sisältö
Esimerkki tulostiedostoista:
# /(1)/.env
DECOUPLE_NACL_SK=/CRP06uxYokIqZeTrnFkRxBhGMmipige8h+etn/qz2c=
# /(2)/.env
DECOUPLE_NACL_PK=Iuhvvgo3J4bKxDo+jMeT/J6ELzOW6+H8qElWxqJj0xc=
SALAISUUS=!{hHUNiQieNxzIhYC8Pk2qgbT3w4hMdEAUMp9tx39gwkTp0vUuql83hl9//KCqXDnDDZA=}
Komento uusien parametrien lisäämiseksi .env-tiedostoon:
$ python -c '__import__("decouple_nacl_tyokalut").salaa_data("'$( sed -En 's/DECOUPLE_NACL_PK=//p' projekti/.env )'")' <<EOF >>> projekti/.env
AVAIN = arvo
AVAIN2 = arvo2
...
EOF
$
Käyttö
Käyttäjälle parametrien salaaminen ei näy. Käyttö tavanomaisesti decouplen työkaluilla:
from decouple import AutoConfig
CONFIG = AutoConfig(...)
assert CONFIG('SALAISUUS', cast=int) == '42'
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file python_decouple_nacl-0.2.tar.gz.
File metadata
- Download URL: python_decouple_nacl-0.2.tar.gz
- Upload date:
- Size: 6.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0e644f7ddf724bfd08fa1f7ab5633ced8bdfd307bd96336a9807018a455d2cc6
|
|
| MD5 |
ad205fdb62d743702857d993ab3a5bfe
|
|
| BLAKE2b-256 |
63a9b27f941ef25d106470aed53b72313303d30cf49299312f48834345170dd1
|
File details
Details for the file python_decouple_nacl-0.2-py3-none-any.whl.
File metadata
- Download URL: python_decouple_nacl-0.2-py3-none-any.whl
- Upload date:
- Size: 7.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.0 CPython/3.12.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
347531a9514c998e2669a5a8da77f0ae7889eb53b3177b05ddc57974d5beab2d
|
|
| MD5 |
f6a831a4cb582eba1fcc775c21448ae7
|
|
| BLAKE2b-256 |
e0172d700d6b4011239df60ed7dbffdfdfdd635c1a755b319849f87470d9f289
|