GNU/Linux >> Linux Esercitazione >  >> Linux

Offuscare le stringhe in Python

Se vuoi solo evitare di guardare casualmente una password, potresti prendere in considerazione la codifica/decodifica della password da/verso base64. Non è affatto sicuro, ma la password non sarà leggibile casualmente da umani/robot.

import base64
# Encode password (must be bytes type)
encoded_pw = base64.b64encode(raw_pw)

# Decode password (must be bytes type)
decoded_pw = base64.b64decode(encoded_pw)

Ovviamente la tua migliore opzione è delegare questo a una terza parte. Se puoi autenticarti con qualunque cosa ti stia connettendo utilizzando qualche altra credenziale (ad esempio l'account utente con cui è in esecuzione il tuo processo), puoi lasciare i livelli di autorizzazione fino al livello del sistema operativo. In alternativa, se sufficientemente importante/possibile, potresti chiedere all'utente (memorizzando la chiave nel (probabilmente) wetware leggermente meno hackerabile)

Se lo fai devi memorizzare una password o una chiave, ti consiglio di memorizzarla separatamente dal tuo codice, in un file che hai letto e de-offuscato se necessario. Questo ha i vantaggi che:

  • Puoi impostare i permessi del file sul file il più stretto possibile (cioè leggibile solo dall'account con cui viene eseguito il tuo programma), a differenza del resto del tuo programma che può essere letto da più persone.

  • Non lo controllerai accidentalmente nel tuo sistema di controllo della versione!

  • Non c'è bisogno di essere limitati a caratteri stampabili (o usare l'escape imbarazzante) per una stringa python, quindi puoi usare un file di chiavi arbitrario se possibile, piuttosto che una password leggibile dall'uomo. Se non è inserito dall'uomo, non c'è motivo di avere tutti i punti deboli delle password.

Per offuscare, puoi utilizzare base64 come suggerito, o qualche schema casalingo come XORing o decrittografia con un'altra chiave memorizzata altrove, richiedendo che entrambe le posizioni vengano esaminate. Tieni presente che questo non protegge da nulla al di là dell'opportunistico shoulder surfing (se quello) - assicurati che ci sia un certo livello di reale anche la sicurezza (compresi quelli ovvi come l'accesso fisico alla macchina!)


Linux
  1. Come installare Python su Linux

  2. Procedura:programmazione socket in Python

  3. Installa python-novaclient su Windows

  4. Configura Python su IIS 7.5

  5. Domande su Python virtualenv

Come installare Python 3 su Windows 10

Installa Python 3 su Redhat 8

Bash concatena le stringhe

Come controllare la versione di Python

Python if..else Istruzione

Come modificare la password su Ubuntu