土豆网中的键是 怎么生成的?? http://www.tudou.com/programs/view/nXDh2lsb_Tc/http://www.tudou.com/programs/view/AqK4XVaSiYE/
我发现很多网站的主键 不是int自增,也不是guid, 而是类似AqK4XVaSiYE的这种方式.
请问这是怎么实现的?? 有什么优点吗??

解决方案 »

  1.   

    public static String generateKey(int total) {
      String base = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456_-=#";
      StringBuffer sb = new StringBuffer(total);
      for (int i = 0; i < total; i++) {
        int index = (int) (Math.random() * base.length());
        sb.append(base.charAt(index));
      }
      return sb.toString();
    }不知道是不是这样做的。
      

  2.   

    public static String generateKey2(int total){
      StringBuffer sb = new StringBuffer(total);
      for (int i = 0; i < total; i++) {
        char index = (char) (Math.random() * (127 - 33) + 33);
        sb.append(index);
      }
      return sb.toString();
    }这个生成的安全性更高些,而且更快。
      

  3.   

    我也想学习下那种,懂的人交交下
      
      我老大叫我这样,id为当前时间yyyymmdd0001-yyyymmdd9999,(一天不会有1万个记录)
    不知道好不好?
      

  4.   

    在ORACLE中运用函数来产生全球唯一标识,也可以 哦。