您的位置:首页 > 健康 > 美食 > 开发平台说明_有没有专门搞网站上线的公司_搜狐财经峰会直播_百度搜索指数的数据来源

开发平台说明_有没有专门搞网站上线的公司_搜狐财经峰会直播_百度搜索指数的数据来源

2025/3/24 13:24:51 来源:https://blog.csdn.net/wulinshishen/article/details/146250487  浏览:    关键词:开发平台说明_有没有专门搞网站上线的公司_搜狐财经峰会直播_百度搜索指数的数据来源
开发平台说明_有没有专门搞网站上线的公司_搜狐财经峰会直播_百度搜索指数的数据来源
XXH3是由Yann Collet设计的非加密哈希算法,属于XXHash系列的最新变种,专注于极速性能与低碰撞率,适用于对计算效率要求极高的场景。
极速性能
  • 在RAM速度限制下运行,小数据(如 1-128 字节)处理可达纳秒级,吞吐率高达 0.24–0.71 GB/s。
  • 大数据(如 100KB)处理可在微秒级完成,性能远超传统哈希算法(如 MD5、SHA-1)。
确定性输出
  • 所有平台(little/big endian)对相同输入生成一致的哈希值,确保跨环境兼容性。
多平台优化
  • 支持 SSE2、AVX2 等指令集加速,适配不同硬件架构以最大化性能。
使用
  • Python可以提供第三方库的支持,相关的使用也比较简单,只需要安装第三方库即可。

    • pip install xxhash
    • 简单的几个使用示例如下:
    from xxhash import xxh3_64_intdigest
    from xxhash import xxh3_128_intdigest
    from xxhash import xxh3_128_hexdigestMAX_INT64 = sys.maxsize  # (1 << 63) - 1def xxh3_64_digest_int(*args: str) -> int:return xxh3_64_intdigest("".join(args))def xxh3_128_digest_int(*args: str) -> int:return xxh3_128_intdigest("".join(args))def xxh3_128_digest_hex(*args: str) -> int:return xxh3_128_hexdigest("".join(args))
    
  • Java同样提供了第三方库的支持,只需要引入相关的依赖包。

    • 引入依赖。开源提供的依赖还是挺多的,比如zero-allocation-hashing、hash4j等。需要注意的是hash4j依赖包后续的版本需要JDK11+。
    <!-- ZeroAllocationHashing依赖包 -->
    <dependency><groupId>net.openhft</groupId><artifactId>zero-allocation-hashing</artifactId><version>0.16</version>
    </dependency><dependency><groupId>com.dynatrace.hash4j</groupId><artifactId>hash4j</artifactId><version>0.20.0</version>
    </dependency>
    
    • zero-allocation-hashing依赖包的几个简单使用示例如下:
    import lombok.extern.slf4j.Slf4j;
    import net.openhft.hashing.LongHashFunction;
    import net.openhft.hashing.LongTupleHashFunction;import java.math.BigInteger;/**** @description Digest Utils* @author */
    @Slf4j
    public class DigestUtils {/*** xx3 hash 64 bits* @param source* @return*/public static long xx3Hash64Bits(String source) {return LongHashFunction.xx3().hashBytes(source.getBytes());}/*** xx3 hash 128 bits* @param source* @return*/public static BigInteger xx3Hash128Bits(String source) {long[] hashes = LongTupleHashFunction.xx128().hashBytes(source.getBytes());/**// 处理为无符号BigInteger unsignedHigh = new BigInteger(1, toBytes(hashes[1]));BigInteger unsignedLow = new BigInteger(1, toBytes(hashes[0]));**/return new BigInteger(1, toBytes(hashes[1])).shiftLeft(64).add(new BigInteger(1, toBytes(hashes[0])));}/*** xx3 hash 128 bits digest* @param source* @return*/public static String xx3Hash128BitsDigest(String source) {return xx3Hash128Bits(source).toString(16);}private static byte[] toBytes(long value) {byte[] bytes = new byte[8];for (int i = 7; i >= 0; i--) {bytes[i] = (byte) (value & 0xFF); // 取低8位value >>>= 8; // 无符号右移,高位补0}return bytes;}}
    

版权声明:

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

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