2011-11-30 7 views
6

मेरी समझ (जो स्पष्ट रूप से गलत हो सकती है) यह है कि Authen::OATH मॉड्यूल Google प्रमाणक ऐप द्वारा उत्पन्न कुल कोड के साथ संगत है। लेकिन यह मेरे लिए काम नहीं करता है, जबकि एक समान बिट रूबी कोड करता है। हम यहां एक पर्ल शॉप हैं और इससे मदद मिलेगी कि कोई मुझे सही दिशा में इंगित कर सकता है ताकि मुझे लाइब्रेरी लाइन दोनों लाइनों के माध्यम से खोदने से बचाया जा सके।पर्ल ऑथेन :: ओएटीएच और Google प्रमाणक - असंगत?

यह गहरे लाल रंग का अनुरूपता से काम करता है:

require 'rubygems' 

require 'rotp' 

secret = "bqagf6ohx4rp3a67" 

puts ROTP::TOTP.new(secret).now.to_s 

यह पर्ल नहीं करता है:

use Authen::OATH; 

my $oath = Authen::OATH->new(); 

my $totp = $oath->totp(" bqagf6ohx4rp3a67"); 

print "$totp\n"; 

उत्तर

5

यह दस्तावेज़ से बहुत स्पष्ट नहीं है, लेकिन Authen::OATHtotp और hotp को unencoded पासवर्ड की उम्मीद है। यदि यह कोई विकल्प नहीं है, तो आप decode_base32Convert::Base32

use Convert::Base32; 
use Authen::OATH; 

my $oath = Authen::OATH->new(); 

my $totp = $oath->totp(decode_base32("bqagf6ohx4rp3a67")); 

print "$totp\n"; 
से आजमा सकते हैं
संबंधित मुद्दे