Per codificare o decodificare lo standard input / output o qualsiasi contenuto di file, Linux utilizza il sistema di codifica e decodifica base64. I dati vengono codificati e decodificati per semplificare il processo di trasmissione e archiviazione dei dati. La codifica e la decodifica non sono simili alla crittografia e alla decrittografia. I dati codificati possono essere facilmente rivelati mediante decodifica. Pertanto, questo strumento di utilità della riga di comando non può essere utilizzato per la sicurezza dei dati. Alfabeto, numero e simbolo “=” vengono utilizzati per codificare qualsiasi dato.
base64
Puoi utilizzare diversi tipi di opzioni con il comando base64. I dati possono essere presi da qualsiasi file o input standard durante la codifica o la decodifica. Dopo la codifica o la decodifica, puoi inviare loutput in un file o stampare loutput nel terminale.
Opzioni:
-e o –encode
Questo viene utilizzata per codificare qualsiasi dato dallinput standard o da qualsiasi file. È lopzione predefinita.
-d o –decode
Questa opzione viene utilizzata per decodificare qualsiasi dato codificato dallo standard input o da qualsiasi file.
– no –noerrcheck
Per impostazione predefinita, base64 controlla gli errori durante la decodifica dei dati. Puoi usare lopzione –n o –noerrcheck per ignorare il controllo al momento della decodifica.
-u o –help
Questa opzione è usata per ottenere informazioni sulluso di questo comando .
-i, –ignore-garbage
Questa opzione viene utilizzata per ignorare i caratteri non alfabetici durante la decodifica.
–copyright
Viene utilizzato per ottenere informazioni sul copyright.
–version
Viene utilizzato per ottenere informazioni sulla versione.
Il modo in cui si utilizza il comando base64 in Linux è mostrato in questo tutorial usando alcuni esempi.
Esempio # 1: codifica di dati di testo
Puoi codificare qualsiasi dato di testo usando base64 nella riga di comando. Quando si desidera codificare qualsiasi dato utilizzando base64, lutilizzo dellopzione -e o –encode è facoltativo. Quindi, se non menzioni alcuna opzione con base64, funzionerà per la codifica. Il seguente comando codificherà i dati, “linuxhint.com” e stamperà i dati codificati come output.
Risultato:
Esempio n. 2: decodifica di dati di testo
Il seguente comando decodificherà il testo codificato, “bGludXhoaW50LmNvbQ ==” e stamperà il testo originale come output.
Risultato:
Esempio n. 3: codifica di file di testo
Crea un file di testo denominato “sample.txt” con il seguente testo che verrà codificato utilizzando base64.
PHP utilizza base64_encode e base64_decode per la codifica e la decodifica dei dati
Puoi stampare il testo codificato nella riga di comando o memorizzare il testo codificato in un altro file. Il seguente comando codificherà il contenuto del file sample.txt e stamperà il testo codificato nel terminale.
Risultato:
I seguenti comandi codificheranno il contenuto del file sample.txt e salveranno il testo codificato nel file encodedData.txt.
$ cat encodedData.txt
Risultato:
Esempio n. 4: Decodifica del file di testo
Il seguente comando decodificherà il contenuto del file encodedData.txt e stamperà loutput nel terminale
Output:
I seguenti comandi decodificheranno il contenuto del file encodedData.txt e memorizza il contenuto decodificato nel file originalData.txt.
$ cat originalData.txt
Risultato:
Esempio n. 5: codifica di qualsiasi testo definito dallutente
Crea un file bash denominato encode_user_data.sh con quanto segue codice. Il seguente script prenderà tutti i dati di testo come input, codificherà il testo utilizzando base64 e stamperà il testo codificato come output.
echo “Inserisci del testo da codificare”
leggi il testo
etext = `echo -n $ text | base64`
echo “Il testo codificato è: $ etext”
Esegui lo script.
Risultato:
Esempio n. 6: verifica della validità dellutente tramite decodifica del testo
Crea un file bash chiamato checkValidity.sh e aggiungi il codice seguente. In questo esempio, un testo segreto viene preso dallutente. Un testo codificato predefinito viene decodificato da base64 e confrontato con linput dellutente. Se entrambi i valori sono uguali, loutput sarà “Sei autenticato”, altrimenti loutput sarà “Non sei autenticato”.Utilizzando questo semplice codice di decodifica, la normale convalida può essere eseguita molto facilmente.
Esegui lo script.
Risultato:
Conclusione:
Per qualsiasi sensibile dati come password o dati riservati, sistema di codifica e decodifica non sono affatto adatti. È necessario utilizzare un sistema di crittografia e decrittografia per proteggere questo tipo di dati.