当前位置: 首页> 文旅> 酒店 > 广安网站建设公司_开店加盟代理_小程序引流推广平台_三叶草gw9356

广安网站建设公司_开店加盟代理_小程序引流推广平台_三叶草gw9356

时间:2025/7/13 0:01:28来源:https://blog.csdn.net/zxw9202/article/details/142522793 浏览次数:0次
广安网站建设公司_开店加盟代理_小程序引流推广平台_三叶草gw9356

简介

一种非加密型哈希函数

特点

特点:
1.快 ,MurMurHash3 比 MD5 快
2.低碰撞,MurMurHash3 128 位版本哈希值是 128 位的,跟 MD5 一样。128 位的哈希值,在数据量只有千万级别的情况下,基本不用担心碰撞。
3.高混淆,散列值比较“均匀”,如果用于哈希表,布隆过滤器等, 元素就会均匀分布。

使用

<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
<version>30.1.1-jre</version>
@Testpublic void testCreateShortLink() {Random random = new Random();for (int i = 0; i < 100; i++) {int num1 = random.nextInt(10);int num2 = random.nextInt(1000000);int num3 = random.nextInt(1000000);String originalUrl = num1 + "xdclass" + num2 + ".net" + num3;String shortLinkCode = shortLinkComponent.createShortLinkCode(originalUrl);log.info("originalUrl:" + originalUrl + ", shortLinkCode=" + shortLinkCode);}}

长链转短链

/*** 创建短链* @param originalUrl* @return db编码+6位短链编码*/public String createShortLinkCode(String originalUrl){long murmur32 = CommonUtil.murmurHash32(originalUrl);//转62进制String shortLinkCode = encodeToBase62(murmur32);return code;}

工具类

/*** murmur hash算法* @param param* @return*/public static long murmurHash32(String param){long murmur32 = Hashing.murmur3_32().hashUnencodedChars(param).padToLong();return murmur32;}
private static final String CHARS =
"0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";/*** 10进制转62进制* @param num* @return*/private static String encodeToBase62(long num) {//StringBuffer:线程安全; StringBuilder:线程不安全StringBuffer sb = new StringBuffer();do {int i = (int) (num % 62);sb.append(CHARS.charAt(i));num /= 62;// num = num/ 62;} while (num > 0);String value = sb.reverse().toString();return value;}
关键字:广安网站建设公司_开店加盟代理_小程序引流推广平台_三叶草gw9356

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: