为了对标准输入/输出或任何文件内容进行编码或解码,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 --decode

输出:
在这里插入图片描述

示例#3:编码文本文件

创建一个名为“ sample.txt ”的文本文件,其中包含以下将使用 base64 编码的文本。

sample.txt
PHP 使用base64_encode和base64_decode 进行数据编解码
您可以在命令行中打印编码文本或将编码文本存储到另一个文件中。以下命令将对sample.txt文件的内容进行编码,并在终端中打印编码后的文本。

$ base64 sample.txt

输出:在这里插入图片描述
以下命令将对sample.txt文件的内容进行编码,并将编码后的文本保存到encodingData.txt文件中。

$ base64 sample.txt > encodingData.txt $ cat encodingData.txt

输出:
在这里插入图片描述

**

示例#4:解码文本文件

**
以下命令将解码encodedData.txt文件的内容并在终端打印输出

$ base64 -d encodedData.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 "Encoded text is : $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 ] ; 然后
echo “您已通过身份验证”
else
echo “您未通过身份验证”
fi

运行脚本。

$ bash   checkValidity.sh

输出:
在这里插入图片描述

结论:
对于任何敏感数据,如密码或任何机密数据,编码和解码系统根本不适合。您必须使用加密和解密系统来保护这些类型的数据。

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐