【发布时间】:2019-04-13 13:12:39
【问题描述】:
我正在尝试解码一个文件,该文件主要使用 base64 编码。我想要做的是解码以下内容,同时仍然保持[_*_]。
example.txt
wq9cXyjjg4QpXy/Crwo=
[_NOTBASE64ED_]
aGkgdGhlcmUK
[_CONSTANT_]
SGVsbG8gV29ybGQhCg==
有时会是这种形式
aGkgdGhlcmUK[_CONSTANT_]SGVsbG8gV29ybGQhCg==
期望的输出
¯\_(ツ)_/¯
[_NOTBASE64ED_]
hi there
[_CONSTANT_]
Hello World!
hi there[_CONSTANT_]Hello World!
错误输出
¯\_(ツ)_/¯
4��!:�@�H\�B�8ԓ��[��ܛBbase64: invalid input
我尝试过的
base64 -di example.txt
base64 -d example.txt
base64 --wrap=0 -d -i example.txt
我尝试使用grep -o 单独对[_*_] 进行base64。然后找到并
通过奇怪的数组替换它们,但我不能
让它工作。
全部base64ing,然后解码。结果是双 base64ed 行。
文件大大缩小了!
使用base64 --wrap=0、while 循环和 if/else 语句进行编码。
[_*_] 解码后仍然需要在那里。
【问题讨论】:
-
base64 块总是单行吗?
-
并非总是如此,有时就像
wq9cXyjjg4QpXy/Crwo=[_NOTBASE64ED_]aGkgdGhlcmUK -
这与您在示例中发布的内容有何不同?
-
这是一个例子,其中 base64 块在同一行上,由
[_*_]分隔,如果您的意思是如果一个 base64 块超长,它会进入新行,或者如果两个在同一行上没有分隔符的行,然后没有。
标签: bash encryption base64 sh decoding