当前位置: 互联网>综合
本页文章导读:
▪paip.提升安全性---网站各种验证码特点及识别率
paip.提升安全性---网站各种验证码特点及识别率
作者Attilax , EMAIL:1466519819@qq.com
1,图片验证码
--------------
这个是使用率最光的验证码,对网站来说成本.........
▪Web黑客工具箱之FireBug 和 Web Developer Web黑客工具箱之FireBug:
http://netsecurity.51cto.com/art/200810/94891.htm
Web黑客工具箱:Web Developer的应用:
http://netsecurity.51cto.com/art/200810/94897.htm
作者:lhshaoren 发表于2013-4-16 16:39:05 原文链接
.........
▪微博短链接生成算法与简单实现 自从twitter推出短网址(shorturl),国内也有很多互联网公司推出短网址链接,比如微博等。
下面是从网上找到了一些算法总结:
算法一:
最容易想到的算法可能是利用md5类的加密算法,然后针.........
[1]paip.提升安全性---网站各种验证码特点及识别率
来源: 互联网 发布时间: 2013-10-21
paip.提升安全性---网站各种验证码特点及识别率
作者Attilax , EMAIL:1466519819@qq.com
1,图片验证码
--------------
这个是使用率最光的验证码,对网站来说成本最低,对识别方来说,成本也低。。识
机器识别率:对于绝大部分网站(约95%),可达到几乎93%--100%的识别率..其余5%的变态网站,可达到50%的识别率..
讽次的是,对于大部分网站来说,如果综合使用识别算法,机器的识别率已经超过人类了。
2.声音验证码
-------------
成本较高。。效果最好
机器识别率差。。几乎不到10%
3.手机短信验证码
---------
成本比图片方式高,比声音验证低
机器识别率:100%
虽然短信验证码的识别率是100%,并且识别的技术难度也比图片验证码方式更简单易用,,目前的唯一障碍就是成本了。。
但是由于要使用短信猫等设备,使得识别的成本较高,目前识别一个手机验证码大约需要5毛钱左右。。在未来几年内,随着规模效益的增长,有望把短信识别的成本降到一个一毛
钱左右。。此时,就是短信验证码的没落这时..
作者:attilax 发表于2013-4-16 16:44:30 原文链接
阅读:58 评论:0 查看评论
[2]Web黑客工具箱之FireBug 和 Web Developer
来源: 互联网 发布时间: 2013-10-21
Web黑客工具箱之FireBug:
http://netsecurity.51cto.com/art/200810/94891.htm
Web黑客工具箱:Web Developer的应用:
http://netsecurity.51cto.com/art/200810/94897.htm
作者:lhshaoren 发表于2013-4-16 16:39:05 原文链接
阅读:54 评论:0 查看评论
[3]微博短链接生成算法与简单实现
来源: 互联网 发布时间: 2013-10-21
自从twitter推出短网址(shorturl),国内也有很多互联网公司推出短网址链接,比如微博等。
下面是从网上找到了一些算法总结:
2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理;
3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串;
4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址。
算法二:
a-zA-Z0-9 这64位取6位组合,可产生500多亿个组合数量。把数字和字符组合做一定的映射,就可以产生唯一的字符串,如第62个组合就是aaaaa9,第63个组合就是aaaaba,再利用洗牌算法,把原字符串打乱后保存,那么对应位置的组合字符串就会是无序的组合。
把长网址存入数据库,取返回的id,找出对应的字符串,例如返回ID为1,那么对应上面的字符串组合就是bbb,同理 ID为2时,字符串组合为bba,依次类推,直至到达64种组合后才会出现重复的可能,所以如果用上面的62个字符,任意取6个字符组合成字符串的话,你的数据存量达到500多亿后才会出现重复的可能。
下面自己简单模拟了一个返回8位随即码的短网址算法,算法实现基于算法一。
下面是从网上找到了一些算法总结:
算法一:
最容易想到的算法可能是利用md5类的加密算法,然后针对加密后的字符串进行处理。
1)将长网址md5生成32位签名串,分为4段, 每段8个字节;2)对这四段循环处理, 取8个字节, 将他看成16进制串与0x3fffffff(30位1)与操作, 即超过30位的忽略处理;
3)这30位分成6段, 每5位的数字作为字母表的索引取得特定字符, 依次进行获得6位字符串;
4)总的md5串可以获得4个6位串; 取里面的任意一个就可作为这个长url的短url地址。
算法二:
a-zA-Z0-9 这64位取6位组合,可产生500多亿个组合数量。把数字和字符组合做一定的映射,就可以产生唯一的字符串,如第62个组合就是aaaaa9,第63个组合就是aaaaba,再利用洗牌算法,把原字符串打乱后保存,那么对应位置的组合字符串就会是无序的组合。
把长网址存入数据库,取返回的id,找出对应的字符串,例如返回ID为1,那么对应上面的字符串组合就是bbb,同理 ID为2时,字符串组合为bba,依次类推,直至到达64种组合后才会出现重复的可能,所以如果用上面的62个字符,任意取6个字符组合成字符串的话,你的数据存量达到500多亿后才会出现重复的可能。
下面自己简单模拟了一个返回8位随即码的短网址算法,算法实现基于算法一。
public class ShortUrlUtil { static char hexDigits[] = { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; public static String shortUrl(/blog_article/String url/index.html) throws Exception { MessageDigest messagedigest = MessageDigest.getInstance("MD5"); messagedigest.update(url.getBytes()); String result = bufferToHex(messagedigest.digest()); String resUrl = new String(""); for (int i = 0; i < 8; i++) { String tmpString = result.substring(i * 4, i * 4 + 4); long hexLong = 0x3FFFFFFF & Long.parseLong(tmpString, 16); resUrl += hexDigits[Integer.valueOf((hexLong % 16) + "")] + ""; } return resUrl; } private static String bufferToHex(byte bytes[]) { return bufferToHex(bytes, 0, bytes.length); } private static String bufferToHex(byte bytes[], int m, int n) { StringBuffer stringbuffer = new StringBuffer(2 * n); int k = m + n; for (int l = m; l < k; l++) { appendHexPair(bytes[l], stringbuffer); } return stringbuffer.toString(); } private static void appendHexPair(byte bt, StringBuffer stringbuffer) { char c0 = hexDigits[(bt & 0xf0) >> 4]; char c1 = hexDigits[bt & 0xf]; stringbuffer.append(c0); stringbuffer.append(c1); } public static void main(String[] args) { String sLongUrl = "http://weibo.com/taobaotianshui?wvr=5&wvr=5&lf=reg"; String shortUrl; try { shortUrl = shortUrl(/blog_article/sLongUrl/index.html); System.out.println(sLongUrl + " ===> " + shortUrl); } catch (Exception e) { e.printStackTrace(); } } }
当生成短网址链接之后,只需要在表中(数据库或者类NoSql的K-V存储)存储原始链接与短链接的映射关系即可。
作者:mn11201117 发表于2013-4-17 19:53:39 原文链接
阅读:40 评论:0 查看评论
最新技术文章: