1

我试图从服务器端生成唯一的用户名,并使用他们在注册登录表单时输入的个人详细信息将其分发给用户。这是为了制作更安全的用户名并避免黑客攻击。

所以,这是我的问题:如何从他们的个人信息(如名字、姓氏、年龄和出生日期)中生成唯一且不可预测的用户名。用户名不应遵循我们现在在 gmail 等注册表单中的任何顺序。没有什么比使用名字的首字母和姓氏或名字中的三个字母等等。用户名应该是完全不可预测的。

提前致谢!

4

2 回答 2

1

那你为什么要让名字取决于他们的细节呢?只需生成一些均匀分布的字母串,比如vwneuibx(足够长,这样你就不会很快用完名字),这样的名字没人会猜到,但也不容易记住。

更安全的方法是对一些盐和您指定的个人数据进行哈希处理。

于 2012-04-11T22:35:21.433 回答
0

idk也许是这样的......

function random_name($length){
    $characters = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
    $name = "";

    for($i = 0; $i < $length; $i++){
        $name .= $characters[mt_rand(0,strlen($characters) - 1)];

        }
        return $_POST['first'].$name;

    }
于 2012-04-11T23:06:27.640 回答