Noen av bruken av koding er:
For koding av data bruker Base64 bare alfabet, tall og = symbol. For eksempel, C2ftcgxlcg == er en gyldig kodede data mens b?Hv3.Zh2j == er ikke en gyldig kodet data.
I denne Linux Hint -opplæringen vil vi forklare hvordan du bruker base64 -kommandoen til å kode og avkode dataene i en streng eller en fil. Vi har utført kommandoene på Ubuntu 20.04 Focal Fossa System. Du kan imidlertid også kjøre de samme kommandoene på andre Linux -distribusjoner.
Base64 Syntaks
Her er syntaks for koding ved bruk av BASE64:
base64 [alternativ] [fil]
Alternativer
Noen av kommandolinjealternativene som kan brukes med BASE64-kommandoen er:
-D eller -Decode
Bruk dette alternativet til å avkode en fil eller en streng.
--hjelp
Bruk dette alternativet for å vise hjelp angående bruken av base64.
-Jeg, --ignore-Garbage
Bruk dette alternativet mens du avkoding for å ignorere ikke-alfabet-tegn
--versjon
Bruk dette alternativet til å vise versjonsinformasjon
Kodingsstreng
Du kan enkelt kode en streng ved hjelp av base64 -kommandoen. For eksempel, for å kode en eksempeltekst "Velkommen til Linux" til Base64, ville kommandoen være:
Echo “Velkommen til Linux” | Base64
Terminalutgang:
linuxhint@hp34: ~ $ ekko "Velkommen til Linux" | Base64
V2VSY29TZSB0BYBMAW51EAO =
Denne kommandoen vil kode teksten i strengen ved hjelp av BASE64 og skrive ut den kodede teksten til standardutgang som vist i terminalutgangen ovenfor.
Du kan også lagre den kodede utgangen i en fil i stedet for å skrive ut til standardutgang ved hjelp av omdirigeringsoperatøren (>). Følgende kommando vil kode teksten og lagre utdataene i en fil som heter “Enkodedfile.tekst:
Echo “Velkommen til Linux” | base64> kodetfile.tekst
For å se den kodede filen, kan du bruke CAT -kommandoen:
katt kodetfile.tekst
Terminalutgang:
linuxhint@hp34: ~ $ katt kodetfile.tekst
4OCCV2VSY29TZSB0BYBMAW51EOKANQO =
Avkodende streng
Du kan også avkode base64 -kodet teksten ved hjelp av alternativet -DECODE eller -D. For eksempel for å avkode base64 -kodet tekst “V2VSY29TZSB0BYBMAW51EAO =”, ville kommandoen være:
ECHO 4OCCV2VSY29TZSB0BYBMAW51EOKANQO = | Base64 -Decode
Denne kommandoen vil avkode Base64 -kodet tekst og skrive ut originalteksten på standardutgangen som vist i følgende terminalutgang.
Terminalutgang:
linuxhint@hp34: ~ $ ekko 4occv2vsy29tzsb0bybmaw51eokanqo = | Base64 -Decode
“Velkommen til Linux”
Koding av tekstfil
Base64 -kommandoen kan også brukes til å kode en tekstfil. For dette eksemplet kan vi lage en tekstfil med noe innhold først ved å bruke denne kommandoen på terminalen, eller bruke en hvilken som helst tekstfil.
ekko "" "Jeg elsker Linux
Jeg elsker Linux
Jeg elsker Linux
Linuxhint er min hjemmeside "" "> Testfile.tekst
For å kode denne eller en hvilken som helst tekstfil som heter “Testfile.txt ”, ville kommandoen være:
Base64 Testfile.tekst
Denne kommandoen vil kode den spesifiserte tekstfilen og skrive ut det kodede skjemaet på standardutgangen som vist i følgende terminalutgang:
linuxhint@hp34: ~ $ base64 testfile.tekst
SSBMB3ZLIEXPBNV4CKKGTG92ZSBMAW51EAPJIEXVDMUGTGLUDXGKTGLUDXHIAW50IGLZIG15ighv
bwvwywdlcg ==
Du kan også lagre den kodede utgangen i en fil i stedet for å skrive ut til standardutgang ved hjelp av omdirigeringsoperatøren (>). Følgende kommando konverterer teksten i filen ved å bruke Base64 og lagre utdataene til en annen fil som heter “Enkodedfile.tekst". Kommandoen skriver ikke ut noe på skjermen.
Base64 Testfile.txt> kodetfile.tekst
For å se den kodede filen, kan du bruke CAT -kommandoen:
katt kodetfile.tekst
Terminalutgang:
linuxhint@hp34: ~ $ base64 testfile.txt> kodetfile.tekst
linuxhint@hp34: ~ $ katt kodetfile.tekst
SSBMB3ZLIEXPBNV4CKKGTG92ZSBMAW51EAPJIEXVDMUGTGLUDXGKTGLUDXHIAW50IGLZIG15ighv
bwvwywdlcg ==
Avkodende tekstfil
For å avkode en kodet tekstfil, bruk alternativet -DECODE eller -D. For eksempel for å avkode base64 kodet tekstfil “Kodetfil.txt ”, ville kommandoen være:
base64 -d kodetfile.tekst
Denne kommandoen vil avkode Base64 -kodet tekstfil og skrive ut originalteksten på standardutgangen som vist i følgende terminalutgang:
Terminalutgang:
linuxhint@hp34: ~ $ base64 -d kodedfile.tekst
Jeg elsker Linux
Jeg elsker Linux
Jeg elsker Linux
Linuxhint er hjemmesiden min
linuxhint@hp34: ~ $
Koder for brukerinngang
Ved hjelp av base64-kodingen kan vi kode alle brukere-leverte data. For dette formålet må vi lage et skript som vil ta brukerinngang, kode det ved hjelp av BASE64 -koding og skrive ut de kodede dataene på standardutgang. Lag et skript “Test.SH ”med følgende kode:
#!/bin/bash
# Skriv ut melding for å be om inndata
ekko "Gi noen data å kode"
# Lagre inndata til en variabel med navnet "Data"
Les data
# Kode ved hjelp av base64 koding og lagre utdataene i en variabel “encod_data”
encod_data = 'Echo -n $ data | base64 '
# Utskriftskodet utgang
Echo "kodet tekst er: $ encod_data"
Kjør skriptet som følger:
CHMOD 755 Test.sh; ./test.sh
Etter å ha kjørt skriptet, vil du bli bedt om å legge inn dataene du vil kode. Skriv inn noen data og trykk Enter, så vil du motta den kodede utgangen på skjermen som vist nedenfor:
Terminalutgang:
linuxhint@hp34: ~ $ chmod 755 test.sh; ./test.sh
Gi noen data for å kode
Jeg elsker Linux
Kodet tekst er: SSBSB3ZLIGXPBNV4
Denne kodede teksten kan sendes over internett eller til et annet program og deretter dekodes senere ved hjelp av en enkel kommando. For denne kommandoen antar vi mottaksprogrammet, avkode.SH, har lagt de kodede dataene i en variabel i bash kalt Mottatt_encoding.
#!/bin/bash
Mottatt_encoding = SSBSB3ZLIGXPBNV4
Mottatt_string = 'ekko $ mottatt_encoding | Base64 -Decode '
ekko $ mottatt_string
Her kan du se resultatene fra mottaksprogrammet i terminalutgangen:
linuxhint@hp34: ~ $ chmod 755 dekode.sh; ./dekode.sh
Jeg elsker Linux
Konklusjon
Slik kan du bruke Base64 til å kode og avkode en streng eller en fil fra kommandolinjen. Resultatene kan skrives ut på standardutgangen, lagres i en variabel eller en fil, eller sendes over nettverket til et annet program. Husk imidlertid at koding ikke ligner på kryptering, og man kan lett avsløre de kodede dataene, så det anbefales ikke å bruke koding for overføring av sensitive data med mindre de også er kryptert.