zoukankan      html  css  js  c++  java
  • 随机用户id号,随机密码用户名

    类似新浪微博的用户Id怎么生成呢?

    特点:10位随机数,而且是以1开头的

    好处:不容易猜出有多少用户

    方法一:

    目的是生成唯一id。可以用uniqid。uniqid获取一个字符串,循环这个字符串,把每个字符串都用ord……

    规则自己定,最容易想到的是自增键,其它的比如你要想然这个ID有点意义的话,可以是申请ID的地域ID+当然时间戳+什么什么的,只要不重复不就行了

    PHP生成唯一ID的三种方法
    1、md5(time() . mt_rand(1,1000000));   这种方法有一定的概率会出现重复 
    2、php内置函数uniqid()
      uniqid() 函数基于以微秒计的当前时间,生成一个唯一的 ID.   w3school参考手册有一句话:"由于基于系统时间,通过该函数生成的 ID 不是最佳的。如需生成绝对唯一的 ID,请使用 md5() 函数"。 
    下面方法返回结果类似:5DDB650F-4389-F4A9-A100-501EF1348872
    com_create_guid()是php自带的生成唯一id方法,php5之后貌似已经没有了。 
     
    3、官方uniqid()参考手册有用户提供的方法,结果类似:
    {E2DFFFB3-571E-6CFC-4B5C-9FEDAAF2EFD7}.
     
    1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
    function uuid() {
    if (function_exists ( 'com_create_guid' )) { return com_create_guid (); } else {
    mt_srand ( ( double ) microtime () * 10000 ); //optional for php 4.2.0 and up.随便数播种, 4.2.0以后不需要了。
    $charid = strtoupper ( md5 ( uniqid ( rand (), true ) ) ); //根据当前时间(微秒计)生成唯一id. $hyphen = chr ( 45 ); // "-" $uuid = '' . //chr(123)// "{"
    substr ( $charid, 0, 8 ) . $hyphen . substr ( $charid, 8, 4 ) . $hyphen . substr ( $charid, 12, 4 ) .  $hyphen . substr ( $charid, 16, 4 ) . $hyphen . substr ( $charid, 20, 12 ); //.chr(125);// "}" return $uuid; } } 
    1 2 3 4 5 6 7
    public function create_guid($namespace = '') {  static $guid = ''; $uid = uniqid("", true); $data = $namespace;
    $data .= $_SERVER['REQUEST_TIME']; $data .= $_SERVER['HTTP_USER_AGENT']; $data .= $_SERVER['LOCAL_ADDR'];


    历史老照片不能说的秘密慈禧军阀明末清初文革晚清




  • 相关阅读:
    104.Maximum Depth of Binary Tree
    103.Binary Tree Zigzag Level Order Traversal
    102.Binary Tree Level Order Traversal
    101.Symmetric Tree
    100.Same Tree
    99.Recover Binary Search Tree
    98.Validate Binary Search Tree
    97.Interleaving String
    static静态初始化块
    serialVersionUID作用
  • 原文地址:https://www.cnblogs.com/Alight/p/3516731.html
Copyright © 2011-2022 走看看