Мое понимание (которое, очевидно, может быть неверным) заключается в том, что модуль Authen::OATH совместим с totp-кодами, генерируемыми приложением Google Authenticator. Но у меня он не работает, в то время как аналогичный кусок кода на ruby работает. Мы здесь работаем на perl, и было бы полезно, если бы кто-нибудь мог указать мне правильное направление, чтобы избавить меня от необходимости копаться в обеих библиотеках строка за строкой.
Этот ruby работает совместимо:
require 'rubygems'
require 'rotp'
secret = "bqagf6ohx4rp3a67"
puts ROTP::TOTP.new(secret).now.to_s
Этот perl не работает:
use Authen::OATH;
my $oath = Authen::OATH->new();
my $totp = $oath->totp(" bqagf6ohx4rp3a67" );
print "$totp\n";