从 shell 编码到 base32

jde*_*dev 10 linux unix ubuntu shell encoding

我希望直接从 shell 将输入字符串编码为 base32 编码。我希望在 ubuntu 中做到这一点,但我想味道在这里并不特别重要。

是否有任何现有的 linux/unix 工具可以简单地执行此操作?

类似的东西:

-bash-3.2$ echo -n 'hello' | base32
Run Code Online (Sandbox Code Playgroud)

cjc*_*cjc 10

嗯,快速的包搜索并没有像单个独立的实用程序那样提供任何东西。

另一方面,它表明有一个合适的 Perl 库,并且可以很容易地创建一个快速的 perl 脚本。就像是:

$ sudo apt-get install libmime-base32-perl
Run Code Online (Sandbox Code Playgroud)

然后是一个像这样的脚本base32enc.pl

#!/usr/bin/perl

use MIME::Base32 qw( RFC );

undef $/;  # in case stdin has newlines
$string = <STDIN>;

$encoded = MIME::Base32::encode($string);

print "$encoded\n";
Run Code Online (Sandbox Code Playgroud)

所以:

$ echo -n "hello" | ./base32enc.pl
NBSWY3DP
Run Code Online (Sandbox Code Playgroud)

相当稀疏的 CPAN 条目是:http : //search.cpan.org/~danpeder/MIME-Base32-1.01/Base32.pm

所以,一个小的改变也可以让你做解码。