前段时间在网上看到的:

http://www.baidu.com/s?wd=Hash%E7%A2%B0%E6%92%9E+++%E6%8B%92%E7%BB%9D%E6%9C%8D%E5%8A%A1%E6%BC%8F%E6%B4%9E+&rsv_spt=1&issp=1&rsv_bp=0&ie=utf-8&tn=baiduhome_pg&n=2&inputT=1594

这样的函数有个特点,即如果字符串X, Y的hash值相同,那么X,Y都添加任意相同的前缀或后缀的以后的hash值也都相同.比如: "rQ"与 "qp"的hash值相同, 则"rQrQ", "rQqp", "qprQ", "qpqp" 这四个也相同,继续这个模式就可以很容易构造出 2^n 个 2*n长度的不同字。

package test;

import java.util.HashMap;

public class Test
{

public static void main(String[] args)
 {
  String a = "rQ";
  String b = "qp";
  
  HashMap<String,String> map = new HashMap<String,String>();
  map.put(a, "1");
  map.put(b, "2");
  
  System.out.println(a.hashCode());
  System.out.println(b.hashCode());
  
  System.out.println(map.get(a));
  System.out.println(map.get(b));
 }

}

输出结果:

3615
3615
1
2

2012-02-03

最新文章

  1. lnmp环境下载安装包
  2. 一篇搞定RSA加密与SHA签名|与Java完全同步
  3. JSON浅总
  4. 通过百度地图API显示当前位置在地图上(图标显示)--第三方开源--百度地图(二)
  5. Eclipse内存溢出问题
  6. iOS中sqlite3操作
  7. Python中函数参数传递问题
  8. 深入探讨 java.lang.ref 包--转
  9. Linux企业级项目实践之网络爬虫(3)——设计自己的网络爬虫
  10. irms模拟数据生成及数据分析
  11. 启动及重新启动nginx,重启nginx后丢失nginx.pid问题解决
  12. CImage类
  13. Cocos2d-x 3.1.1 Lua实例-AccelerometerTest(重力加速计)
  14. 第四章 android 命名规范和编码规范
  15. window nfs 服务端配置安装
  16. hadoop 笔记(hive)
  17. Ubuntu:双(多)网卡绑定(bonding)配置
  18. centos下安卓构建打包太慢
  19. day 26面向对象 的封装 接口 抽象
  20. Java反射、动态加载(将java类名、方法、方法参数当做参数传递,执行方法)

热门文章

  1. Mysql之binlog日志说明及利用binlog日志恢复数据操作记录
  2. python 批量下载图片
  3. Linux内核设计与实现 第三章
  4. 关于对springboot程序配置文件使用jasypt开源工具自定义加密
  5. 第三个spring冲刺总结(附团队贡献分)
  6. 小学四则运算APP 第二次冲刺-第二天
  7. 运行scrapy crawl (文件名)时显示invalid syntax和no modle &#39;win32api&#39;解决方案
  8. Spring.Net快速入门:控制翻转、依赖注入、面向切面编程
  9. JavaScript使用childNodes和children
  10. WIN10 Samba(SMB) v1 trouble shooting