Hmm, una rapida ricerca dei pacchetti non fornisce nulla di simile a un'unica utility autonoma.
D'altra parte, mostra che esiste una libreria Perl appropriata ed è abbastanza facile creare uno script Perl veloce. Qualcosa come:
$ sudo apt-get install libmime-base32-perl
E poi uno script come 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";
Quindi:
$ echo -n "hello" | ./base32enc.pl
NBSWY3DP
La voce CPAN abbastanza scarsa è:http://search.cpan.org/~danpeder/MIME-Base32-1.01/Base32.pm
Quindi, una piccola modifica ti consentirà anche di eseguire la decodifica.
Utilizzo di Python:
$ python
Python 2.7.14 (default, Sep 27 2017, 12:15:00)
[GCC 4.2.1 Compatible Apple LLVM 9.0.0 (clang-900.0.37)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import base64
>>> base64.b32encode('hello')
'NBSWY3DP'
Solo un miglioramento della risposta cjc eccellente in modo da poter avere un base32
utility che funziona in modo simile a base64
nel modo in cui possiamo codificare e decodificare:
#! /usr/bin/perl
use MIME::Base32;
use strict;
undef $/;
my $string = <STDIN>;
my $changed;
if ( $ARGV[0] eq "-d" ){
$changed = MIME::Base32::decode($string);
}else{
$changed = MIME::Base32::encode($string);
}
if ( $changed =~ /\n$/ ) {
printf $changed;
}else{
printf $changed . "\n";
}
Prova:
$ base32 < <(echo -n 'abcdef')
MFRGGZDFMY
$ base32 -d < <(echo 'MFRGGZDFMY')
abcdef