Perl Authen :: клятва и Google Authenticator - несовместимый?
-
26-10-2019 - |
Вопрос
На мой взгляд (что, очевидно, может быть неправ) заключается в том, что Authen :: клятва Модуль совместим с кодами TOTP, сгенерированными приложением Google Authenticator. Но это не работает для меня, в то время как аналогичный кусочек кода Ruby делает. Мы здесь магазин Perl, и это помогло бы, если бы кто -то мог указать мне в правильном направлении, чтобы спасти меня от копания обеими библиотеками.
Этот рубин работает совместно:
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";
Решение
Это не очень ясно из документации, но Authen::OATH
ожидает некодированных паролей totp
а также hotp
. Анкет Если это не вариант, вы можете попробовать decode_base32
из Преобразование :: base32
use Convert::Base32;
use Authen::OATH;
my $oath = Authen::OATH->new();
my $totp = $oath->totp( decode_base32( "bqagf6ohx4rp3a67" ) );
print "$totp\n";
Не связан с StackOverflow