2017-02-13 21 views
0

我目前正在为其创建一个受密码保护的部分的网站。密码应该是单次使用的,输入成功后不可用。如何生成一次性密码列表?

OTP似乎是要走的路,但我无法找到关于为OTP生成密码列表的指南,只是教导如何发送SMS或使用单独软件的指南。

网站的安全性不一定是防黑客,只是足够安全,普通人不知道如何滥用它。

+0

有很多方法可以做到这一点。您可以尝试使用PHP的随机整数生成函数,然后存储在数据库中的随机数对将R你想要的ecord ...然后使用一个标志来检查它是否已被使用或不..从数据库中读取..这是很容易的 – Gags

回答

0

您可以创建一个列,例如在第一次登录时您将值设置为'yes'的'used'。检查密码是否有效的代码逻辑需要使用此列来确定用户是否可以登录。

0

这里是PHP(未OTP特定的)的代码,将产生所指定基于参数随机密码:

<?php 

//variables 
$minimumASCIIValue = 33; 
$maximumASCIIValue = 126; 
$generatedPassword = ""; 
$numberOfCharacters = 12; 

//code 
for($i = 0; $i < $numberOfCharacters; $i++) 
{ 
    $generatedPassword = $generatedPassword . chr((rand($minimumASCIIValue,$maximumASCIIValue))); 
} 

//output 
echo "The generated one-time password is " . $generatedPassword; 

?> 

输出示例:

生成的一次性口令是% J7%L)50 $ A * X