উত্তর:
হুঁ, একটি দ্রুত প্যাকেজ অনুসন্ধান কোনও একক, একক স্ট্যান্ডলোন ইউটিলিটির মতো কিছু দেয় না।
অন্যদিকে, এটি দেখায় যে একটি উপযুক্ত পার্ল লাইব্রেরি রয়েছে এবং দ্রুত পার্ল স্ক্রিপ্টটি হুইপ করা যথেষ্ট সহজ। কিছুটা এইরকম:
$ sudo apt-get install libmime-base32-perl
এবং তারপরে একটি স্ক্রিপ্ট 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";
তাই:
$ echo -n "hello" | ./base32enc.pl
NBSWY3DP
মোটামুটি বিচ্ছিন্ন সিপিএএন এন্ট্রিটি হ'ল: http://search.cpan.org/~danpeder/MIME-Base32-1.01/Base32.pm
সুতরাং, একটি সামান্য পরিবর্তন আপনাকে ডিকোডগুলিও করতে দেয়।
সিজেসি চমৎকার উত্তরের কেবল একটি উন্নতি যাতে আমাদের একটি base32
ইউটিলিটি থাকতে পারে যা base64
আমরা এনকোড এবং ডিকোড করতে পারি সেইভাবে কাজ করে :
#! /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";
}
টেস্ট:
$ base32 < <(echo -n 'abcdef')
MFRGGZDFMY
$ base32 -d < <(echo 'MFRGGZDFMY')
abcdef
এটি কোর্টিলের অংশ হিসাবে উবুন্টু 16.04 এ ডিফল্টরূপে ইনস্টল করা হয়েছে :
$ which base32
/usr/bin/base32
ইনস্টল করুন perl-MIME-Base32.noarch
:
yum install perl-MIME-Base32.noarch
বেস 32 ফাইলনামে স্ক্রিপ্টটি সংরক্ষণ করুন:
#!/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"