首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏DotNet NB && CloudNative

    面向 .NET 开发人员的 10 大高性能哈希库

    SipHash 优点: 速度快且安全。 能抵御哈希洪泛攻击。 缺点: 比非加密哈希算法稍慢。 使用SipHash的公司: Apple:使用SipHash进行安全哈希运算。 data = Encoding.UTF8.GetBytes(input); byte[] key = new byte[16]; // 此处填入你的密钥 return SipHash24 SpookyHash | 1.3 | 769 | | MetroHash | 1 | 1000 | | HighwayHash | 1.2 | 833 | | FNV-1a | 1.5 | 667 | | SipHash 诸如xxHash、MurmurHash3、CityHash、FarmHash、SpookyHash、MetroHash、HighwayHash、FNV-1a、SipHash和Blake2等算法在非加密用途方面都有着出色的性能表现 对于对安全性敏感的应用程序,尽管性能稍慢一些,但可以考虑使用像SipHash或Blake2这样的加密哈希函数。

    68700编辑于 2025-04-01
  • 深入理解 Rust HashMap:哈希算法与冲突解决机制解析

    一、HashMap 的底层实现与 RandomState Rust 的 HashMap<K, V> 默认基于 SipHash-1-3 算法实现,其核心由 std::collections::hash_map 二、哈希算法:SipHash 的工作机制 SipHash 是一种 基于伪随机数的加密哈希函数,其特点是计算速度与安全性的平衡。 然而,SipHash 并非最快的哈希函数。 type FastHashMap<K, V> = HashMap<K, V, BuildHasherDefault<AHasher>>; AHash、FxHash、FNV 等非加密哈希器的性能可达 SipHash SipHash 提供了防御性安全,Robin Hood hashing 优化了探测性能,随机种子机制防止了可预测性攻击。

    16710编辑于 2026-01-20
  • Rust HashMap的哈希算法与冲突解决:一个大学生的深度探索

    哈希算法:SipHash-1-3的安全性保证 Rust默认使用SipHash-1-3算法,而不是常见的FNV或MurmurHash。我最开始很困惑,为什么选择一个相对较慢的算法? : 防止哈希洪泛攻击:攻击者无法轻易构造大量哈希冲突的输入 密码学强度:即使知道算法,不知道随机种子也无法预测哈希值 足够快:虽然比FNV慢,但对大多数应用来说够用 我做了个实验验证SipHash ("SipHash: {:?}", time1); println!("FNV-1a: {:?}", time2); println! , buckets); } 虽然SipHash很强大,但如果输入本身有规律,仍可能产生聚集现象。解决方案是:增加输入的随机性或使用更大的容量。 深度思考:HashMap设计的权衡 经过深入研究,我理解了Rust HashMap设计背后的权衡: 安全性 vs 性能 选择SipHash而非FNV:牺牲一点性能换取安全 提供with_hasher

    15910编辑于 2025-12-21
  • 来自专栏腾讯云开发者社区头条

    Linux Kernel 4.11 发布

    perf ftrace 命令;MD/RAID5 日志; 新的 statx() 系统调用;支持 Opal Storage Specification 驱动; 支持 SMC-R 协议(RFC7609);SipHash

    2.5K00发布于 2017-05-03
  • 来自专栏后端开发技术

    散列表(Hash)揭秘:全面解析高效数据结构的核心

    满足这两个原则的hash有:murmurhash1、murmurhash2、murmurhash3、siphash、cityhash等。murmurhash1:计算速度非常快,但质量一般。 siphash:redis 6.0中使用,因为redis设置的key非常有规律而且字符串接近,siphash 主要解决字符串接近的强随机分布性。 散列表hash函数的作用是建立映射关系;选择hash函数要满足计算速度快、强随机分布的要求,比如murmurhash2、siphash、cityhash等使用比较广泛的hash算法。

    51510编辑于 2024-10-08
  • 来自专栏Debian中国

    OpenSSL 1.1.1 LTS 版本发布,支持 TLS v1.3

    Ed25519 and Ed448) X448 (adding to the existing X25519 support in 1.1.0) Multi-prime RSA SM2 SM3 SM4 SipHash

    2.7K20发布于 2018-12-21
  • 深入理解 Rust HashSet 与 BTreeSet:实现细节与工程思考

    HashMap 的所有结构特征,包括: 哈希桶(buckets)数组; 开放寻址 + Robin Hood hashing 冲突解决策略; 随机种子哈希器(RandomState + SipHash13 Rust 的实现中,默认使用 SipHash13 哈希算法,在抗攻击性和性能间取平衡。如果是高频本地计算或对安全性要求不高的场景,可以自定义哈希器(如 AHash、FxHash)以显著提升速度。

    10810编辑于 2026-01-20
  • 来自专栏Jed的技术阶梯

    Redis 基本数据结构三:哈希

    Redis 的字典默认的 hash 函数是 siphashsiphash 算法即使在输入 key 很小的情况下,也可以产生随机性特别好的输出,而且它的性能也非常突出。

    73520发布于 2019-07-12
  • 来自专栏CSDN搜“看,未来”

    【redis6.0.6】redis源码慢慢学,慢慢看 -- 第三天:MakeFile

    redis-cli REDIS_CLI_OBJ=anet.o adlist.o dict.o redis-cli.o zmalloc.o release.o ae.o crcspeed.o crc64.o siphash.o REDIS_BENCHMARK_NAME=redis-benchmark REDIS_BENCHMARK_OBJ=ae.o anet.o redis-benchmark.o adlist.o dict.o zmalloc.o siphash.o /deps/hiredis/libhiredis.a $(FINAL_LIBS) dict-benchmark: dict.c zmalloc.c sds.c siphash.c $(REDIS_CC

    97020发布于 2020-08-31
  • 来自专栏一个会写诗的程序员的博客

    Mac 安装 Redis: make install

    redis-check-aof.d geo.d lazyfree.d module.d evict.d expire.d geohash.d geohash_helper.d childinfo.d defrag.d siphash.d monotonic.d mt19937-64.d anet.d adlist.d dict.d redis-cli.d zmalloc.d release.d ae.d crcspeed.d crc64.d siphash.d cli_common.d mt19937-64.d ae.d anet.d redis-benchmark.d adlist.d dict.d zmalloc.d release.d crcspeed.d crc64.d siphash.d CC expire.o CC geohash.o CC geohash_helper.o CC childinfo.o CC defrag.o CC siphash.o

    2.1K21发布于 2021-06-21
  • 来自专栏旅途散记

    听GPT 讲Rust源代码--library/core/src(3)

    SipHash是一种快速且安全的hash函数,适用于哈希表、散列表和其他需要快速哈希的应用。它采用了可变数量的轮次,通过迭代运算和混淆步骤来增加哈希的强度和安全性。 SipHasher13和SipHasher24分别是使用13轮和24轮的SipHash算法实现的哈希器。它们的安全性和速度有所不同,可以根据具体需求选择适合的算法。 SipHasher是一个通用的SipHash算法实现,通过参数化选择不同的轮次。 例如,SipHasher<Sip13Rounds>使用13轮的SipHash算法,而SipHasher<Sip24Rounds>使用24轮的SipHash算法。 总结:sip.rs文件提供了SipHash算法的实现,包括13轮和24轮的SipHash哈希器,以及一个通用的SipHash哈希器。这些哈希器可以用于对输入数据进行哈希操作,并获得对应的哈希值。

    58530编辑于 2023-11-14
  • 来自专栏老齐教室

    Python中无穷的哈希值是多少?

    sys.hash_info sys.hash_info(width=64, modulus=2305843009213693951, inf=314159, nan=0, imag=1000003, algorithm='siphash24

    2.7K10发布于 2021-03-11
  • 来自专栏闲余说

    redis 源码源文件说明

    latency.c, latency.h 延迟监控 监控相关 sparkline.c, sparkline.h 微线图功能实现 工具功能 util.c, util.h 工具类函数集合 工具功能 siphash.c Redis 4.0 & 5.0, 采用的是 SipHash 哈希算法 工具功能 pqsort.c, pqsort.h 快速排序(QuickSort)算法的实现 工具功能 lzf_c.c, lzf_d.c

    69020编辑于 2022-08-10
  • 来自专栏Apache Doris

    Apache Doris 2.1.3 版本正式发布!

    替换 SipHash 为 XXHash 以改善 Shuffle 性能 SipHash 和 XXHash 都是哈希函数,但 XXHash 在某些场景下可能提供更快的哈希速度和更好的性能,此优化旨在通过采用

    81610编辑于 2024-05-22
  • 来自专栏小生观察室

    利用WireGuard使用NordV**配置文件

    管理守护进程或担心引擎盖下的内容 WireGuard 提供了一个极其基本但功能强大的界面 加密可靠 WireGuard 使用最先进的密码学,如Curve25519、ChaCha20、Poly1305、BLAKE2、SipHash24

    1.8K30编辑于 2022-12-06
  • 来自专栏CSDN搜“看,未来”

    【redis源码学习】看看redis的“哈希表”实现

    哈希函数 redis 使用的是 siphash,计算出来的hash值具有强分布性,不过算法有点复杂(可以把“有点”,换成“比较”,反正我看晕了)。 uint64_t siphash(const uint8_t *in, const size_t inlen, const uint8_t *k) { #ifndef UNALIGNED_LE_CPU

    65030编辑于 2021-12-24
  • 来自专栏用户7890857的专栏

    3、Redis数据结构——字典-hashtable

    在 Redis 5.0 以及 4.0 版本,都使用了 siphash 哈希算法。siphash 可以在输入的 key 值很小的情况下,产生随机性比较好的输出。

    1.3K00发布于 2021-06-06
  • 来自专栏腾讯技术工程官方号的专栏

    深入理解完美哈希

    Hash 函数 常见的 Hash 函数有: CRC32:CRC32 能够快速的生成 32 位 Hash 值,一般在数据库系统或数据传输中出现,用于快速校验数据是否完整; SipHashSipHash 并不是为了速度设计的,与其他 Hash 函数相比速度上不占优势,而提供了 HashDoS 保护,是 Rust 中的 Hash 函数的默认实现,最新 Redis 中也在使用 SipHash; MurMurHash

    4K30编辑于 2022-07-20
  • 来自专栏松华说

    ARTS打卡第十二周

    原理是将对象和节点都进行相同hash算法( MurmurHash, MetroHash or SipHash1–3,SHA-1 or MD5)处理后映射到一个圆环中(This should be familiar

    72830发布于 2019-07-16
  • 来自专栏仁扬笔记

    Redis的设计与实现(3)-字典

    aappleby/smhasher --- 然而, 我在 GitHub 上搜索 Redis 的相关源码, 发现版本不同, 使用的哈希算法也是不相同的: 最新版本的 Redis (5.0已发布), 采用的是 SipHash 哈希算法, 链接: https://github.com/antirez/redis/blob/unstable/src/dict.c#L84 往回看, 5.0, 4.0 都是 SipHash 哈希算法

    41710编辑于 2023-06-24
领券