Hmm, une recherche rapide de paquets ne donne rien comme un utilitaire unique et autonome.
D'un autre côté, cela montre qu'il existe une bibliothèque Perl appropriée et qu'il est assez facile de créer un script perl rapide. Quelque chose comme :
$ sudo apt-get install libmime-base32-perl
Et puis un script comme 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";
Donc :
$ echo -n "hello" | ./base32enc.pl
NBSWY3DP
L'entrée CPAN assez clairsemée est :http://search.cpan.org/~danpeder/MIME-Base32-1.01/Base32.pm
Ainsi, un changement mineur vous permettra également de décoder.
Utilisation de 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'
Juste une amélioration de cjc excellente réponse afin que nous puissions avoir un base32
utilitaire qui fonctionne de manière similaire à base64
dans la façon dont nous pouvons encoder et décoder :
#! /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";
}
Test :
$ base32 < <(echo -n 'abcdef')
MFRGGZDFMY
$ base32 -d < <(echo 'MFRGGZDFMY')
abcdef