2011-11-30 11 views
6

La mia comprensione (che potrebbe ovviamente essere errata) è che il modulo è compatibile con i codici totp generati dall'app Google Authenticator. Ma non funziona per me, mentre lo fa un po 'simile al codice rubino. Siamo un negozio perl qui e sarebbe di aiuto se qualcuno potesse indicarmi la giusta direzione per salvarmi dallo scavare attraverso entrambe le librerie linea per linea.Perl Authen :: OATH e Google Authenticator - incompatibile?

Questo rubino funziona compatibilmente:

require 'rubygems' 

require 'rotp' 

secret = "bqagf6ohx4rp3a67" 

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

Questo Perl non:

use Authen::OATH; 

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

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

print "$totp\n"; 

risposta

5

Non è molto chiaro dalla documentazione, ma si aspetta Authen::OATH le password in chiaro per totp e hotp. Se questo non è un'opzione, si potrebbe provare a decode_base32 da Convert::Base32

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

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

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

print "$totp\n"; 
Problemi correlati