在Linux系统中,base64是一种常用的编码方式,常被用于简单的文本加密解密场景,系统默认自带了base64工具,不需要额外安装就能直接使用,下面介绍具体的实现方法。

base64编码(加密)实现方法
对字符串进行base64编码
如果要对一段字符串进行base64编码,可以直接使用echo命令配合base64工具,注意需要加上-n参数避免echo自动添加换行符,否则编码结果会包含多余的换行符内容。
# 对字符串hello world进行base64编码 echo -n "hello world" | base64 # 输出结果:aGVsbG8gd29ybGQ=
对文件进行base64编码
如果需要对某个文件的内容进行base64编码,可以直接将文件路径作为参数传给base64命令,编码后的结果会输出到终端,也可以重定向到新文件中保存。
# 对test.txt文件进行base64编码,结果保存到encode.txt base64 test.txt > encode.txt # 直接查看编码结果 base64 test.txt
base64解码(解密)实现方法
对base64字符串进行解码
解码操作和编码操作类似,只需要给base64命令加上-d参数即可,同样可以通过管道传递需要解码的内容。
# 对之前的编码结果aGVsbG8gd29ybGQ=进行解码 echo -n "aGVsbG8gd29ybGQ=" | base64 -d # 输出结果:hello world
对base64编码文件进行解码
如果是之前保存的base64编码文件,同样可以通过重定向的方式将文件内容传入base64命令进行解码,结果可以保存到新的文件中。
# 对encode.txt中的base64编码内容进行解码,保存到decode.txt base64 -d encode.txt > decode.txt # 查看解码后的内容 cat decode.txt
注意事项
- base64本质是编码方式,不是真正的加密算法,编码后的内容没有密钥也能轻松解码,不适合用于敏感数据的加密保护。
- 处理二进制文件时,base64编码会把二进制数据转换为可打印的ASCII字符,方便在文本协议中传输,解码后可以还原原始二进制内容。
- 如果编码后的内容出现换行,解码时base64命令会自动忽略换行符,不影响解码结果的正确性。
常见使用场景
base64在Linux中常被用于邮件附件编码、API接口中传递简单二进制数据、配置文件存储小体积二进制内容等场景,比如很多程序的配置文件中会用base64存储小的图标或者证书内容。
# 查看系统自带base64命令的帮助信息,了解更多参数 base64 --help