Codifica a base32 dalla shell

Sto cercando di codificare una string di input alla codifica di base32 direttamente dalla shell. Sto cercando di farlo in ubuntu, ma immagino che il sapore non abbia particolare importnza qui.

Ci sono strumenti esistenti linux / unix là fuori per fare semplicemente questo?

  • OpenVPN client su Amazon EC2
  • Utilizzare una NIC per creare più interfacce per Linux KVM
  • Setfacl: operazione non supportta
  • Applicare la continuità della versione apt-get su Ubuntu
  • Come submit la posta tramite un account Google utilizzando Postfix
  • lftp non rimuovere i file remoti per me
  • Qualcosa lungo le linee di:

    -bash-3.2$ echo -n 'hello' | base32 

  • C'è una ragione legittima di utilizzare una parola codificata in qualsiasi header diverso dall'object?
  • Come posso distriggersre il trasferimento-codifica: chunked in Apache con risposte HTTP / 1.1
  • 3 Solutions collect form web for “Codifica a base32 dalla shell”

    Hmm, una ricerca rapida dei pacchetti non offre niente di simile a un'utilità singola e autonoma.

    D'altra parte, dimostra che c'è una biblioteca appropriata Perl, ed è abbastanza facile da frustare un rapido script perl. Qualcosa di simile a:

     $ 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"; 

    Così:

     $ echo -n "hello" | ./base32enc.pl NBSWY3DP 

    La voce piuttosto scarsa di CPAN è: http://search.cpan.org/~danpeder/MIME-Base32-1.01/Base32.pm

    Quindi, un cambiamento minore vi farà decodificare anche.

    Solo un miglioramento della risposta eccellente di cjc in modo da poter avere un'utilità base32 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"; } 

    Test:

     $ base32 < <(echo -n 'abcdef') MFRGGZDFMY $ base32 -d < <(echo 'MFRGGZDFMY') abcdef 
    1. Installare perl-MIME-Base32.noarch :

       yum install perl-MIME-Base32.noarch 
    2. Salvare lo script nel nome di file bas32:

       #!/usr/bin/perl use MIME::Base32 qw( RFC ); undef $/; # in case stdin has newlines $ed=$ARGV[0]; $string=$ARGV[1]; if ($ed eq "-e") { $encoded = MIME::Base32::encode($string); print "$encoded\n"; } elsif ($ed eq "-d") { $decoded = MIME::Base32::decode($string); print "$decoded\n"; } else { print " please pass option also\n"; exit; } chmod +x base32 cp base32 /usr/bin/ base32 -e string base32 -d "any encoded value" 
    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.