我的理解(这可能显然是错误的)是Authen::OATH模块与 Google Authenticator App 生成的 totp 代码兼容。但这对我不起作用,而类似的 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";