otTest.php 1.1 KB

123456789101112131415161718192021222324252627282930313233343536
  1. <?php
  2. // https://github.com/lelag/otphp
  3. // http://sebsauvage.net/wiki/doku.php?id=totp
  4. require_once dirname(__FILE__).'/otphp/lib/otphp.php';
  5. # Il faut faire comme ça : https://python-totp.herokuapp.com/
  6. # Ça génère un OTP aléatoire et le QR qui correspond. FreeOTP le récupère
  7. # d'un coup. Idéal à placer sur la gestion du compte pour activer l'OTP sans se
  8. # soucier du secret.
  9. $pass = '42432526';
  10. $pass = 'abcdefgh';
  11. $pass = 'abcdefgh23456';
  12. $pass = 'abcdeijrgfoaefgh23456';
  13. $pass = "yiemah3ShulaeXaichae";
  14. $pass = "yiemah3shulaexaichae";
  15. $pass = "yiemah3shul";
  16. $totp1 = new \OTPHP\TOTP($pass, array('interval'=>30, 'digits'=>8, 'digest'=>'sha1'));
  17. $totp2 = new \OTPHP\TOTP(strtoupper($pass), array('interval'=>30, 'digits'=>8, 'digest'=>'sha1'));
  18. while( True ){
  19. echo "1 ", str_pad($totp1->now(), $totp1->digits, '0', STR_PAD_LEFT)."\n";
  20. echo "2 ", str_pad($totp2->now(), $totp2->digits, '0', STR_PAD_LEFT)."\n";
  21. sleep(1);
  22. }
  23. // OTP verified for current time
  24. // $totp->verify(492039); // => true
  25. // //30s later
  26. // $totp->verify(492039); // => false