为了对标准输入/输出或任何文件内容进行编码或解码,Linux 使用 base64 编码和解码系统。对数据进行编码和解码,使数据传输和存储过程更容易。编码和解码不同于加密和解密。通过解码可以很容易地揭示编码数据。所以,这个命令行实用工具不能用于数据安全。字母、数字和“=”符号用于对任何数据进行编码。
句法:
base64 [选项] [输入文件] [输出文件]
您可以在 base64 命令中使用不同类型的选项。在编码或解码时,可以从任何文件或标准输入中获取数据。编码或解码后,您可以将输出发送到文件中或在终端中打印输出。
选项:
-e 或 –encode
此选项用于对来自标准输入或任何文件的任何数据进行编码。它是默认选项。
-d 或 –decode
此选项用于解码来自标准输入或任何文件的任何编码数据。
-n 或 –noerrcheck
默认情况下,base64 在解码任何数据时都会检查错误。您可以使用 –n 或 –noerrcheck 选项在解码时忽略检查。
-u 或 -help
此选项用于获取有关此命令的用法的信息。
-i, --ignore-garbage
此选项用于在解码时忽略非字母字符。
-版权
它用于获取版权信息。
-版本
用于获取版本信息。
本教程通过一些示例展示了如何在 Linux 中使用 base64 命令。
示例#1:编码文本数据
您可以在命令行中使用 base64 对任何文本数据进行编码。当您想使用 base64 对任何数据进行编码时,使用 -e 或 –encode 选项是可选的。因此,如果您没有提及 base64 的任何选项,那么它将适用于编码。以下命令将对数据“ linuxhint.com”进行编码,并将编码后的数据打印为输出。
$ echo 'linuxhint.com' | base64
输出:
示例#2:解码文本数据
以下命令将解码编码文本'bGludXhoaW50LmNvbQ== ' 并打印原始文本作为输出。
$ echo 'bGludXhoaW50LmNvbQo=' | base64 --解码
输出:
示例#3:编码文本文件
创建一个名为“ sample.txt ”的文本文件,其中包含以下将使用 base64 编码的文本。
样品。txt
PHP 使用base64_encode和base64_decode 进行数据编解码
您可以在命令行中打印编码文本或将编码文本存储到另一个文件中。以下命令将对sample.txt文件的内容进行编码,并在终端中打印编码后的文本。
$ base64 样本.txt
输出:
以下命令将对sample.txt文件的内容进行编码,并将编码后的文本保存到encodingData.txt文件中。
$ base64 样本
.txt > 编码数据.txt $ cat 编码数据.txt
输出:
示例#4:解码文本文件
以下命令将解码encodedData.txt文件的内容并在终端打印输出
$ base64 -d 编码数据.txt
输出:
以下命令将对encodedData.txt文件的内容进行解码,并将解码后的内容存储到文件originalData.txt 中。
$ base64 --decode encodingData.txt > originalData.txt
$ cat originalData.txt
输出:
示例#5:编码任何用户定义的文本
使用以下代码创建一个名为encode_user_data.sh的 bash 文件。以下脚本将任何文本数据作为输入,使用 base64 对文本进行编码,并将编码后的文本打印为输出。
#!/bin/bash
echo "Enter Some text to encode"
read text
etext = ` echo -n $text | base64 `
echo "编码文本为:$etext "
运行脚本。
$ base encode_user_data.sh
输出:
示例#6:通过解码文本检查用户有效性
创建一个名为checkValidity.sh的 bash 文件并添加以下代码。在这个例子中,从用户那里获取了一个秘密文本。预定义的编码文本由 base64 解码并与用户输入进行比较。如果两个值相等,则输出将是“您已通过身份验证”,否则输出将是“您未通过身份验证”。使用这个简单的解码代码,可以很容易地完成正常的验证。
#!/bin/bash
echo "Type your secret code"
read secret
otext = ` echo 'Nzc3Nzk5Cg==' | base64 --decode `
if [ $secret == $otext ] ; 然后
回显 “您已通过身份验证”
否则
回声 “您未通过身份验证”
fi
运行脚本。
$ bash checkValidity.sh
输出:
结论:
对于任何敏感数据,如密码或任何机密数据,编码和解码系统根本不适合。您必须使用加密和解密系统来保护这些类型的数据。
网友评论