Bash Basetop 10 codifica e decodifica

Bash Basetop 10 codifica e decodifica
Per codificare o decodificare input/output standard o qualsiasi contenuto di file, Linux utilizza il sistema di codifica e decodifica Base64. I dati sono codificati e decodificati per semplificare la trasmissione dei dati e la memorizzazione del processo. La codifica e la decodifica non sono simili alla crittografia e alla decrittografia. I dati codificati possono essere facilmente rivelati mediante decodifica. Quindi, questo strumento di utilità della riga di comando non può essere utilizzato per la sicurezza dei dati. Il simbolo alfabeto, numero e '=' viene utilizzato per codificare qualsiasi dati.

Sintassi:

Base64 [opzione] [infile] [outfile]

È possibile utilizzare diversi tipi di opzioni con il comando Base64. I dati possono essere prelevati da qualsiasi file o input standard durante la codifica o la decodifica. Dopo aver codificato o decodificato, è possibile inviare l'output in un file o stampare l'output nel terminale.

Opzioni:

-e o -code

Questa opzione viene utilizzata per codificare qualsiasi dati dall'input standard o da qualsiasi file. È l'opzione predefinita.

-d o -decode
Questa opzione viene utilizzata per decodificare eventuali dati codificati dall'input standard o da qualsiasi file.

-n o -noerrcheck
Per impostazione predefinita, Base64 controlla l'errore durante la decodifica qualsiasi dati. È possibile utilizzare l'opzione -n ​​o -noerrcheck per ignorare il controllo al momento della decodifica.

-u o -help
Questa opzione viene utilizzata per ottenere informazioni sull'uso di questo comando.

-I, -Ignoro -Garbage
Questa opzione viene utilizzata per ignorare il carattere non alfabetico durante la decodifica.

-diritto d'autore
È usato per ottenere informazioni sul copyright.

-versione
Viene utilizzato per ottenere le informazioni sulla versione.

Come si utilizza il comando Base64 in Linux è mostrato in questo tutorial usando alcuni esempi.

Esempio n. 1: codifica dati di testo

È possibile codificare qualsiasi dati di testo utilizzando Base64 nella riga di comando. Quando si desidera codificare qualsiasi dati utilizzando Base64, l'opzione -E o -Code è facoltativa. Quindi, se non menzioni alcuna opzione con Base64, funzionerà per la codifica. Il comando seguente codificherà i dati, "Linuxhint.com e stampare i dati codificati come output.

Echo 'Linuxhint.com '| Base64

Produzione:

Esempio n. 2: decodifica dei dati di testo

Il comando seguente decodificherà il testo codificato, 'bgludxhoaw50lmnvbq =='e stampare il testo originale come output.

echo 'bgludxhoaw50lmnvbqo =' | Base64 -Decodifica

Produzione:

Esempio n. 3: codifica file di testo

Crea un file di testo chiamato, "campione.TXT'Con il seguente testo che verrà codificato usando Base64.

PHP utilizza base64_encode e base64_decode per la codifica e la decodifica dei dati

È possibile stampare il testo codificato nella riga di comando o archiviare il testo codificato in un altro file. Il comando seguente codificherà il contenuto di Sampio.TXT File e stampare il testo codificato nel terminale.

campione di base64.TXT

Produzione:

I seguenti comandi codificheranno il contenuto di Sampio.TXT file e salva il testo codificato in ECCODEDDATA.TXT file.

$ Base64 campione.txt> encodeddata.TXT
$ cat codeddata.TXT

Produzione:

Esempio n. 4: decodifica del file di testo

Il comando seguente decodificherà il contenuto del ECCODEDDATA.TXT File e stampare l'output nel terminale

Base64 -D ECCODEDDATA.TXT

Produzione:

I seguenti comandi decodificheranno il contenuto del ECCODEDDATA.TXT file e archivia il contenuto decodificato nel file, OriginalData.TXT.

$ Base64 -Decodifica codeddata.txt> originaledata.TXT
$ CAT OriginalData.TXT

Produzione:

Esempio#5: codifica di qualsiasi testo definito dall'utente

Crea un file bash denominato ENCODE_USER_DATA.sh con il seguente codice. Il seguente script prenderà qualsiasi dati di testo come input, codificare il testo utilizzando Base64 e stampare il testo codificato come output.

#!/Bin/Bash
Echo "Immettere un po 'di testo per codificare"
Leggi il testo
etext = 'echo -n $ text | base64 '
Echo "Il testo codificato è: $ eText"

Esegui lo script.

Bash ENCODE_USER_DATA.sh

Produzione:

Convalida Il testo è codificato correttamente mediante la piping il testo codificato restituito dall'esecuzione dello script in decode Base64 per confermare che il testo originale viene restituito. Di seguito puoi vedere come convalidare Il mio testo segretoera la stringa codificata.

echo txkgc2vjcmv0ihrlehq = | Base64 -Decodifica

Esempio n. 6: controllo della validità dell'utente decodificando il testo

Crea un file bash denominato Controllo Validità.sh e aggiungi il seguente codice. In questo esempio, un testo segreto viene tratto dall'utente. Un testo codificato predefinito viene decodificato da Base64 e confrontato con l'input dell'utente. Se entrambi i valori sono uguali, allora l'output sarà 'Sei autenticato"Altrimenti l'output sarà"Non sei autenticato'. Utilizzando questo semplice codice di decodifica, la normale convalida può essere eseguita molto facilmente. In questo esempio il testo segreto che si tradurrà nel successo è 777799. Questo probabilmente non sarebbe hard codificato nella sceneggiatura, ma più dinamico in un'applicazione del mondo reale.

#!/Bin/Bash
Echo "Digita il tuo codice segreto"
Leggi segreti
otext = 'echo' nzc3nzk5cg == '| Base64 -Decodi '
se [$ segreto == $ otext]; Poi
echo "sei autenticato"
altro
echo "Non sei autenticato"
fi

Esegui lo script.

Validità del controllo bash.sh

Produzione:

Conclusione:

Per eventuali dati sensibili come password o dati riservati, il sistema di codifica e decodifica non è affatto adatto. È necessario utilizzare il sistema di crittografia e decrittografia per proteggere questo tipo di dati.

Riferimenti:

  • [RFC] le codifiche dati Base16, Base32 e Base64
  • MANPAGE BASE64