首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

土豆网中的主键是如何生成的? 如:AqK4XVaSiYE ,nXDh2lsb_Tc

2012-01-26 
土豆网中的主键是怎么生成的??如:AqK4XVaSiYE ,nXDh2lsb_Tc土豆网中的键是怎么生成的??http://www.tudou.c

土豆网中的主键是怎么生成的?? 如:AqK4XVaSiYE ,nXDh2lsb_Tc


土豆网中的键是   怎么生成的??  

http://www.tudou.com/programs/view/nXDh2lsb_Tc/

http://www.tudou.com/programs/view/AqK4XVaSiYE/


我发现很多网站的主键   不是int自增,也不是guid,   而是类似AqK4XVaSiYE的这种方式.


请问这是怎么实现的??   有什么优点吗??

[解决办法]
安全性高啊
[解决办法]
防盗链 呵呵

防采集 呵呵呵呵


[解决办法]
是11位的随机数作为主键。

因为这种随机数的重覆机率基本不会出现。

之所以用这个随机数,是考虑到并发问题。
[解决办法]
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();
}

不知道是不是这样做的。
[解决办法]
学习 可能是在数据库里生成的
[解决办法]
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();
}

这个生成的安全性更高些,而且更快。
[解决办法]
随机生成11位字符 安全性高
[解决办法]
多数都是MD5加密
[解决办法]
我也想学习下那种,懂的人交交下

我老大叫我这样,id为当前时间yyyymmdd0001-yyyymmdd9999,(一天不会有1万个记录)
不知道好不好?
[解决办法]
ls那种方法,与自动增长列有什么区别呢?没有随机性可言。
[解决办法]
在ORACLE中运用函数来产生全球唯一标识,也可以 哦。

热点排行