File size: 710 Bytes
fc0b00d | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | import os
import sys
import base64
from cryptography.hazmat.primitives.ciphers.aead import AESGCM
def main():
key_b64 = os.environ.get("AES_KEY", "").strip()
if not key_b64:
print("Set AES_KEY=<base64 32-byte key>", file=sys.stderr)
sys.exit(1)
if len(sys.argv) < 2:
print("Usage: AES_KEY=... python encrypt_config.py 'value to encrypt'", file=sys.stderr)
sys.exit(1)
key = base64.urlsafe_b64decode(key_b64)
nonce = os.urandom(12)
ciphertext = AESGCM(key).encrypt(nonce, sys.argv[1].encode(), None)
print(f"enc:v1:{base64.urlsafe_b64encode(nonce).decode()}:{base64.urlsafe_b64encode(ciphertext).decode()}")
if __name__ == "__main__":
main()
|