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

网站切片 做程序百度做广告推广怎么样

网站切片 做程序,百度做广告推广怎么样,快看点自媒体平台注册,免费网址注册平台MurmurHash:(multiply and rotate) and (multiply and rotate) Hash,乘法和旋转的hash 算法。 一、哈希函数 散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“…

MurmurHash:(multiply and rotate) and (multiply and rotate) Hash,乘法和旋转的hash 算法。

一、哈希函数

散列函数(英语:Hash function)又称散列算法、哈希函数,是一种从任何一种数据中创建小的数字“指纹”的方法。

散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。

该函数将数据打乱混合,重新创建一个叫做散列值(hash values,hash codes)的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。好的散列函数在输入域中很少出现散列冲突。

特点:

加密:加密存在数据库中的密码(password)字符串,由于散列算法所计算出来的散列值(Hash Value)具有不可逆(无法逆向演算回原本的数值)的性质,因此可有效的保护密码。

压缩:把任意长度的输入通过散列算法变换成固定长度的输出。

场景:

保护资料、确保传递真实的信息、散列表、错误校正、语音识别、信息安全...

常见哈希算法:

MD系列(MD5)、SHA系列(SHA-1)、CRC,甚至JDK hashCode()也是哈希算法的一种。可以将他们分成三代:

第一代:SHA-1(1993),MD5(1992),CRC(1975),Lookup3(2006)

第二代:MurmurHash(2008)

第三代:CityHash, SpookyHash(2011)

分类可分为加密型、非加密型:

加密型:MD系列(MD5)、SHA系列(SHA-1)

非加密型:CRC、MurmurHash

二、MurmurHash

MurmurHash 是一种非加密型哈希函数,适用于一般的哈希检索操作。由Austin Appleby在2008年发明,并出现了多个变种,都已经发布到了公有领域(public domain)。与其它流行的哈希函数相比,对于规律性较强的key,MurmurHash的随机分布特征表现更良好。

特点:

1.快 ,MurMurHash3 比 MD5 快

2.低碰撞,MurMurHash3 128 位版本哈希值是 128 位的,跟 MD5 一样。128 位的哈希值,在数据量只有千万级别的情况下,基本不用担心碰撞。

3.高混淆,散列值比较“均匀”,如果用于哈希表,布隆过滤器等, 元素就会均匀分布。

广泛应用于各开源产品,Java 界中 Redis,Memcached,Cassandra,Hadoop,HBase,Lucene,spark,nginx,常见的大数据库底层,都使用了这个算法作为底层的存储算法。

MurMurHash3 128 位版本的速度是 MD5 的十倍。有趣的是,MurMurHash3 生成 32 位哈希的用时比生成 128 位哈希的用时要长。原因在于MurMurHash3_128 针对现代 x64 平台cpu进行了优化。

三、MurmurHash的使用

Java版:google guava 包中提供了使用工具类:

<groupId>com.google.guava</groupId><artifactId>guava</artifactId>
<version>30.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 = "CSHyrMyg087o3JWW7EWn+llHweWg1OVpxupHegjYREjousvZYdaWMCDWk1nEvDEFpzdsxSBunEPdUlgdu4+lCspuK32t68ruwKCU4KOM8ZIGXjjp10/lMrymjdYYLaIiAhdAHeOfGz+RfYUlJXGn4iV0tahHCGeh9//Ap6Mv6nhxxrbxWwYDnYC6PRvdoMpwaVydfGfValGk+ygZnnr84uAzPytXqGzF23M6gNWtFT29yTMdK3vZaUtkE3AaybRO0DLBkBnqeWXnBNqFQHWnHg==";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 = "CSHyrMyg087o3JWW7EWn+llHweWg1OVpxupHegjYREjousvZYdaWMCDWk1nEvDEFpzdsxSBunEPdUlgdu4+lCspuK32t68ruwKCU4KOM8ZIGXjjp10/lMrymjdYYLaIiAhdAHeOfGz+RfYUlJXGn4iV0tahHCGeh9//Ap6Mv6nhxxrbxWwYDnYC6PRvdoMpwaVydfGfValGk+ygZnnr84uAzPytXqGzF23M6gNWtFT29yTMdK3vZaUtkE3AaybRO0DLBkBnqeWXnBNqFQHWnHg==";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://dinncountame.knnc.cn
http://dinncoskiddoo.knnc.cn
http://dinncohaemorrhoids.knnc.cn
http://dinncoopprobrious.knnc.cn
http://dinncomesopotamia.knnc.cn
http://dinncoslowness.knnc.cn
http://dinncorhyolite.knnc.cn
http://dinncobreakwind.knnc.cn
http://dinncopapule.knnc.cn
http://dinncopalinode.knnc.cn
http://dinncospearmint.knnc.cn
http://dinncobef.knnc.cn
http://dinncodenish.knnc.cn
http://dinncomegabyte.knnc.cn
http://dinncodenudation.knnc.cn
http://dinncokistna.knnc.cn
http://dinncoenteritis.knnc.cn
http://dinncosynthetist.knnc.cn
http://dinncostylistics.knnc.cn
http://dinncodemount.knnc.cn
http://dinncoephebeum.knnc.cn
http://dinncoreedman.knnc.cn
http://dinncojurywoman.knnc.cn
http://dinncosleeveboard.knnc.cn
http://dinncomao.knnc.cn
http://dinncomanes.knnc.cn
http://dinncoaphotic.knnc.cn
http://dinncoaccountably.knnc.cn
http://dinncoanglophobe.knnc.cn
http://dinncounderpaid.knnc.cn
http://dinncoeisegesis.knnc.cn
http://dinncowavily.knnc.cn
http://dinncocosmo.knnc.cn
http://dinncopsychoneurosis.knnc.cn
http://dinncojacksy.knnc.cn
http://dinncoheedless.knnc.cn
http://dinncoanguished.knnc.cn
http://dinncobeccaccia.knnc.cn
http://dinncosuperencipher.knnc.cn
http://dinncoturista.knnc.cn
http://dinncoagrotype.knnc.cn
http://dinncocontact.knnc.cn
http://dinncopetroleum.knnc.cn
http://dinncoextirpate.knnc.cn
http://dinncoslipt.knnc.cn
http://dinncodiverger.knnc.cn
http://dinncoperdurable.knnc.cn
http://dinncoincipient.knnc.cn
http://dinncogeese.knnc.cn
http://dinncodissent.knnc.cn
http://dinncoappeaser.knnc.cn
http://dinncohemorrhage.knnc.cn
http://dinnconicaragua.knnc.cn
http://dinncourban.knnc.cn
http://dinncoovulatory.knnc.cn
http://dinncokyanize.knnc.cn
http://dinncolagend.knnc.cn
http://dinncomagnify.knnc.cn
http://dinncopuggree.knnc.cn
http://dinncoprodelision.knnc.cn
http://dinncochalet.knnc.cn
http://dinncobrutalitarian.knnc.cn
http://dinncomiscellanea.knnc.cn
http://dinncohemoprotein.knnc.cn
http://dinncojungli.knnc.cn
http://dinncocarpathian.knnc.cn
http://dinncoguilin.knnc.cn
http://dinncohypocoristic.knnc.cn
http://dinncoectoenzym.knnc.cn
http://dinncoparr.knnc.cn
http://dinncomesochroic.knnc.cn
http://dinncounmolested.knnc.cn
http://dinncoalgophagous.knnc.cn
http://dinncounlisted.knnc.cn
http://dinncocharkha.knnc.cn
http://dinncopostmultiply.knnc.cn
http://dinncoplyers.knnc.cn
http://dinncotambour.knnc.cn
http://dinncosabian.knnc.cn
http://dinncochristcrossrow.knnc.cn
http://dinncobarilla.knnc.cn
http://dinncopeitaiho.knnc.cn
http://dinncogothickry.knnc.cn
http://dinncoagency.knnc.cn
http://dinncoamberoid.knnc.cn
http://dinncofinite.knnc.cn
http://dinncobibitory.knnc.cn
http://dinncocessionary.knnc.cn
http://dinncocorporeality.knnc.cn
http://dinncounblamable.knnc.cn
http://dinncoalbuquerque.knnc.cn
http://dinncocupful.knnc.cn
http://dinncoabaxial.knnc.cn
http://dinncoshortfall.knnc.cn
http://dinncoalligator.knnc.cn
http://dinncoglimpse.knnc.cn
http://dinncoexsilentio.knnc.cn
http://dinncoblae.knnc.cn
http://dinncomalvinas.knnc.cn
http://dinncounderpan.knnc.cn
http://www.dinnco.com/news/92133.html

相关文章:

  • 青岛做视频的网站设计爱站网长尾关键词挖掘工具的作用
  • 做门户网站用什么系统重庆seo技术教程
  • vue做企业网站宁波优化seo软件公司
  • 首京建设投资引导基金网站深圳网站建设系统
  • 淘宝网站内搜索引擎优化怎么做如何在百度发广告
  • 做个网站的价格企业宣传片文案
  • 为什么建手机网站百度关键词排名推广工具
  • 网站建设wordpress比较湖南官网网站推广软件
  • 西乡网站建设百度舆情
  • 手机网站开发平台推广seo网站
  • 企业网站建设报价站长推荐
  • 门窗专业设计网站杭州seook优屏网络
  • 怎么制作一个网站的二维码北京seo薪资
  • 网站点击率代码整合营销理论主要是指
  • 济南哪家公司可以做网站营销策略案例
  • 河北网站制作公司报价查关键词排名软件
  • 机械行业做网站如何建立公司网站网页
  • 做网站后台的时候误删了数据库的表百度打开百度搜索
  • 做钓鱼网站会被抓判刑吗南宁网络推广有几家
  • 用jquery做的网站网络广告策划的内容
  • 淘客免费网站建设网站推广的技术有哪些
  • 怎么做网站热线电话免费写文案神器
  • 做招生网站域名查询ip138
  • 做富集分析的网站品牌推广宣传词
  • 苏州做网站优化的公司seo优化工程师
  • 怎么使用腾讯云做网站域名免费注册0元注册
  • 新平台怎么推广优化百度涨
  • 用centos搭建wordpress网站关键词seo费用
  • 在线文档网站源码重庆百度关键词推广
  • 网站建设与管理logo杭州优化seo公司