kali base64 编码和解码

简介: kali base64 编码和解码

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

输出:

b34b29f96f35345a14a370f7710f3305.png

**


示例#2:解码文本数据

**

以下命令将解码编码文本’bGludXhoaW50LmNvbQ== ’ 并打印原始文本作为输出。

$ echo 'bGludXhoaW50LmNvbQo=' | base64 --decode

输出:

b12364156b365394eb5dec812777a063.png


示例#3:编码文本文件

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


sample.txt

PHP 使用base64_encode和base64_decode 进行数据编解码

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

$ base64 sample.txt

输出:

a20eddfb07822253919076403d841333.png

以下命令将对sample.txt文件的内容进行编码,并将编码后的文本保存到encodingData.txt文件中。

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

输出:


20912739d181b256ff00ef4063c3f455.png

**


示例#4:解码文本文件

**

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

$ base64 -d encodedData.txt

输出:

8eb4931b9870fd330479ef00d85ee0fb.png

以下命令将对encodedData.txt文件的内容进行解码,并将解码后的内容存储到文件originalData.txt 中。

$ base64 --decode encodingData.txt > originalData.txt
$ cat originalData.txt

输出:


073c9a9a860ff4e3bdb1cffa9b9fcb12.png

**


示例#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

输出:


d74c237af68ef4cc91ee2ebc7bf588e5.png


**


示例#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

输出:


4fd13f9c86df81960ac2619ae280cccc.png

结论:

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


目录
相关文章
|
SQL 安全 关系型数据库
Sqlmap2021 -- Referer注入
Sqlmap2021 -- Referer注入
405 1
|
4月前
|
安全 网络协议 NoSQL
Web渗透-常见的端口及对其的攻击思路
本文介绍了常见网络服务端口及其安全风险,涵盖FTP、SSH、Telnet、SMTP、DNS、HTTP、SMB、数据库及远程桌面等20余个端口,涉及弱口令爆破、信息泄露、未授权访问、缓冲区溢出等典型漏洞,适用于网络安全学习与渗透测试参考。
1017 59
|
5月前
|
Web App开发 Ubuntu Unix
深入了解Ubuntu的命令行界面:使用终端和常用命令
实例3:使用包管理命令安装新的软件包: 更新软件包列表:sudo apt update 安装软件包:sudo apt install package-name
|
安全 网络安全 网络协议
【信安评估】2024年全国职业院校技能大赛高职组“信息安全管理与评估”安徽省选拔赛赛项规程
【信安评估】2024年全国职业院校技能大赛高职组“信息安全管理与评估”安徽省选拔赛赛项规程
2155 0
【信安评估】2024年全国职业院校技能大赛高职组“信息安全管理与评估”安徽省选拔赛赛项规程
|
设计模式 编解码 API
Flutter UI设计模式与实现:深入探索与实践
【7月更文挑战第20天】Flutter以其独特的声明式UI模式和丰富的UI组件库,为移动应用开发提供了强大的支持。通过深入理解Flutter的UI设计模式和实现技巧,开发者可以构建出高性能、可维护性强的UI界面。同时,随着Flutter生态的不断完善和发展,相信未来Flutter将在移动应用开发领域发挥更加重要的作用。
DCN神州数码WAF-P-2021命令行恢复出厂
DCN神州数码WAF-P-2021命令行恢复出厂
|
SQL 数据库
【SQL注入】 sqli-labs靶场 sqlmap注入
SQL注入 sqli-labs靶场 sqlmap注入
782 0
Linux中的Base64编码与解码:`base64`命令详解
Linux的`base64`命令用于Base64编码和解码文本数据,常在邮件和HTTP中传输二进制信息。编码示例:`base64 input.txt`,解码示例:`base64 -d encoded.txt`或`echo "SGVsbG8sIFdvcmxkIQo=" | base64 -d`。注意,编码后数据会增大33%,且可能含换行符。广泛应用于多种系统和协议,如MIME。
|
API 开发工具 Android开发
SDK,NDK,AVD,AMD简单理解
SDK,NDK,AVD,AMD简单理解
SDK,NDK,AVD,AMD简单理解
基于SSTI模块注入的常用payload总结
基于SSTI模块注入的常用payload总结
564 0