当前位置: 首页 > news >正文

简单的方法搭建网站邯郸免费网络

简单的方法搭建网站,邯郸免费网络,装饰公司网站制作,国都建设(集团)有限公司网站MurmurHash#xff1a;(multiply and rotate) and (multiply and rotate) Hash#xff0c;乘法和旋转的hash 算法。 一、哈希函数 散列函数#xff08;英语#xff1a;Hash function#xff09;又称散列算法、哈希函数#xff0c;是一种从任何一种数据中创建小的数字“…MurmurHash(multiply and rotate) and (multiply and rotate) Hash乘法和旋转的hash 算法。 一、哈希函数 散列函数英语Hash function又称散列算法、哈希函数是一种从任何一种数据中创建小的数字“指纹”的方法。 散列函数把消息或数据压缩成摘要使得数据量变小将数据的格式固定下来。 该函数将数据打乱混合重新创建一个叫做散列值hash valueshash codes的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。好的散列函数在输入域中很少出现散列冲突。 特点 加密加密存在数据库中的密码password字符串由于散列算法所计算出来的散列值Hash Value具有不可逆无法逆向演算回原本的数值的性质因此可有效的保护密码。 压缩把任意长度的输入通过散列算法变换成固定长度的输出。 场景 保护资料、确保传递真实的信息、散列表、错误校正、语音识别、信息安全... 常见哈希算法 MD系列(MD5)、SHA系列(SHA-1)、CRC甚至JDK hashCode()也是哈希算法的一种。可以将他们分成三代 第一代SHA-11993MD51992CRC1975Lookup32006 第二代MurmurHash2008 第三代CityHash SpookyHash2011 分类可分为加密型、非加密型 加密型MD系列(MD5)、SHA系列(SHA-1) 非加密型CRC、MurmurHash 二、MurmurHash MurmurHash 是一种非加密型哈希函数适用于一般的哈希检索操作。由Austin Appleby在2008年发明并出现了多个变种都已经发布到了公有领域(public domain)。与其它流行的哈希函数相比对于规律性较强的keyMurmurHash的随机分布特征表现更良好。 特点 1.快 MurMurHash3 比 MD5 快 2.低碰撞MurMurHash3 128 位版本哈希值是 128 位的跟 MD5 一样。128 位的哈希值在数据量只有千万级别的情况下基本不用担心碰撞。 3.高混淆散列值比较“均匀”如果用于哈希表布隆过滤器等, 元素就会均匀分布。 广泛应用于各开源产品Java 界中 RedisMemcachedCassandraHadoopHBaseLucenesparknginx常见的大数据库底层都使用了这个算法作为底层的存储算法。 MurMurHash3 128 位版本的速度是 MD5 的十倍。有趣的是MurMurHash3 生成 32 位哈希的用时比生成 128 位哈希的用时要长。原因在于MurMurHash3_128 针对现代 x64 平台cpu进行了优化。 三、MurmurHash的使用 Java版google guava 包中提供了使用工具类 groupIdcom.google.guava/groupIdartifactIdguava/artifactId version30.1.1-jre/version package com.joker.cloud.linserver.conf.murmur;import com.google.common.hash.HashFunction; import com.google.common.hash.Hashing;import java.nio.charset.StandardCharsets;/*** MurmurHashTest** author joker* version 1.0* 2023/3/7 14:29**/public class MurmurHashTest {public static void main(String[] args) {String base64 CSHyrMyg087o3JWW7EWnllHweWg1OVpxupHegjYREjousvZYdaWMCDWk1nEvDEFpzdsxSBunEPdUlgdu4lCspuK32t68ruwKCU4KOM8ZIGXjjp10/lMrymjdYYLaIiAhdAHeOfGzRfYUlJXGn4iV0tahHCGeh9//Ap6Mv6nhxxrbxWwYDnYC6PRvdoMpwaVydfGfValGkygZnnr84uAzPytXqGzF23M6gNWtFT29yTMdK3vZaUtkE3AaybRO0DLBkBnqeWXnBNqFQHWnHg;String hash128String getHexHash128String(base64);System.out.println(hash128String);}public static String getHexHash128String(String str) {HashFunction hashFunction Hashing.murmur3_128();return hashFunction.hashString(str, StandardCharsets.UTF_8).toString();} }性能测试 package com.joker.cloud.linserver.conf.murmur;import com.google.common.hash.HashFunction; import com.google.common.hash.Hashing;import java.nio.charset.StandardCharsets;/*** MurmurHashTest** author joker* version 1.0* 2023/3/7 14:29**/public class MurmurHashTest {public static void main(String[] args) {String base64 CSHyrMyg087o3JWW7EWnllHweWg1OVpxupHegjYREjousvZYdaWMCDWk1nEvDEFpzdsxSBunEPdUlgdu4lCspuK32t68ruwKCU4KOM8ZIGXjjp10/lMrymjdYYLaIiAhdAHeOfGzRfYUlJXGn4iV0tahHCGeh9//Ap6Mv6nhxxrbxWwYDnYC6PRvdoMpwaVydfGfValGkygZnnr84uAzPytXqGzF23M6gNWtFT29yTMdK3vZaUtkE3AaybRO0DLBkBnqeWXnBNqFQHWnHg;String hash128String getHexHash128String(base64);System.out.println(hash128String);long l System.nanoTime();int num 10000000;for (int i 0; i num; i) {String hexHashString1 getHexHash128String(base64);}long time System.nanoTime() - l;System.out.println(num条数据一共花费时间 time / (1000 * 1000 * 1000) 秒);long ns time / (num);System.out.println(num条数据每条数据花费时间 ns 纳秒);}public static String getHexHash128String(String str) {HashFunction hashFunction Hashing.murmur3_128();return hashFunction.hashString(str, StandardCharsets.UTF_8).toString();} } 32位与128位 MurmurHash 算法提供了两种长度的哈希值一种是 32bits一种是 128bits。为了让最终生成的短网址尽可能短可以选择 32bits 的哈希值。 package com.joker.cloud.linserver.conf.murmur;import com.google.common.hash.HashFunction; import com.google.common.hash.Hashing;import java.nio.charset.StandardCharsets;/*** MurmurHashTest** author joker* version 1.0* 2023/3/7 14:29**/public class MurmurHashTest {public static String getHexHash32String(String str) {HashFunction hashFunction Hashing.murmur3_32();return hashFunction.hashString(str, StandardCharsets.UTF_8).toString();}public static String getHexHash128String(String str) {HashFunction hashFunction Hashing.murmur3_128();return hashFunction.hashString(str, StandardCharsets.UTF_8).toString();}public static Long getHexHash32Long(String str) {HashFunction hashFunction Hashing.murmur3_32();return hashFunction.hashString(str, StandardCharsets.UTF_8).padToLong();}} 常用于长链接转短链接 实现思路是通过哈希算法生成短网址。采用计算速度快、冲突概率小的 MurmurHash 算法并将计算得到的 10 进制数转化成 62 进制表示法进一步缩短短网址的长度。对于哈希算法的哈希冲突问题通过给原始网址添加特殊前缀字符重新计算哈希值的方法来解决。 长链接转短链接-CSDN博客
http://www.pierceye.com/news/891950/

相关文章:

  • 中国五码一级做爰网站wordpress去掉评论注册
  • 网站备案修改域名贵阳仿站定制模板建站
  • 渭南 网站集约化建设淘宝网站开发技术名称
  • 临沂做网站费用wordpress新浪微博图床插件
  • 游戏网站建设收费明细WordPress 中英文翻译
  • 如何建设一个企业网站wordpress底部导航代码
  • 公司网站页面设计思路互联网家装公司
  • 网站文字源码网上购物商城源代码
  • 彩票网站做一级代理犯法吗购物网站开发设计类图
  • 固镇做网站多少钱乐清网络公司哪家好
  • 绿色农业网站模板做网站有什么比较好看的动效
  • 百度aipage智能建站系统wordpress打印代码
  • 深圳招聘官网深圳搜索引擎优化推广便宜
  • 创建网站大约9377传奇
  • 单页面网站可以做自适应网站吗建筑设计培训
  • 做海报可以在哪些网站下载素材一键生成装修效果图app
  • 福田区住房和建设局官方网站wordpress仿凡客商城主题
  • 做下载网站用什么程序好深圳公司注册服务
  • 猎头网站模板济源专业网站建设(制作网站)
  • kotlin做网站单页应用网站
  • 邢台网站改版开发长沙教育网站开发
  • 网站开发人员必备技能网站背景图片自动切换
  • 企业网站建立策划书有网站吗给一个
  • 外贸建站有哪些公司建设主管部门网站查询
  • 泰安市网站建设广州优化公司哪家好
  • 手机网游传奇西安关键词优化平台
  • 网站建设公司权威机构3d虚拟人物制作软件
  • 北京网站建设seo公司哪家好阿里巴巴企业邮箱登录入口
  • 广州shopify代建站新产品代理
  • html5网站特点在线搜索引擎