Generare OTP con Ruby
OTP sta per One Time Password, ed è sempre più usato per migliorare la sicurezza online; sia per il login che per effettuare altre operazioni.
In genere questi OTP vengono iviati per SMS o per email.
Oggi vediamo come crearli in Ruby usando la libreria rotp!
Prima di tutto installiamo la libreria:
gem install rotp
Qui sotto un esempio di Time based:
require 'rotp'
totp = ROTP::TOTP.new("base32secret3232", issuer: "Ruby OTP Test")
now = totp.now
puts totp.verify(now)
sleep 30
puts totp.verify(now)
Qui sotto invece un esempio su Counter based:
require 'rotp'
hotp = ROTP::HOTP.new("base32secretkey3232")
check = "111392"
puts hotp.at(0)
puts hotp.at(1)
puts hotp.at(1401)
puts hotp.verify(check, 0)
puts hotp.verify(check, 1401)
puts hotp.verify(check, 1402)
Enjoy!
ruby otp totp hotp
Commentami!