当前位置: 首页 > 软件库 > iOS代码库 > 其他(Others) >

SipHash

伪随机函数
授权协议 未知
开发语言 C/C++
所属分类 iOS代码库、 其他(Others)
软件类型 开源软件
地区 不详
投 递 者 梁季
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

SipHash 是一系列伪随机函数(又名的散列函数),专为短消息的速度优化。

SipHash 的用户包括:

  • Bloomberg: SipHash-2-4 is one of the hashes in Bloomberg's Basic Development Environment (documentation,code)

  • OpenBSD: SipHash-2-4 and SipHash-4-8 have been committed under sys/crypto, and SipHash-2-4 is to be used in the in_pcb hashing

  • Shardmap: SipHash-2-4 is the hash function of this directory indexing system, "the designated successor of HTree"

  • SoundHound, which "makes heavy use" of SipHash

  • Python: SipHash-2-4 is used as hash() "on all major platforms" (patch, PEP)

  • FreeBSD: SipHash-2-4 is used to protect SYN cookies from forgeries  (code, revision)

  • Hashable: SipHash-2-4 is used to hash objects in this Haskell package part of the Haskell Platform (blog)

  • Rubinius: SipHash-2-4 is used in the hash tables implementation (commit)

  • JRuby: SipHash-2-4 is the optional algorithm in the hash tables implementation (commit)

  • Perl 5: SipHash-2-4 is optional in Perl builds (commit,code)

  • Redis: SipHash-2-4 is used in the hash tables implementation of this advanced key-value data store (pull request)

  • Ruby: SipHash-2-4 is used in the hash tables implementation (vulnerability report, changelog)

  • OpenDNS: SipHash-2-4 is used in the dnscache instances of all OpenDNS resolvers (patch).

  • Rust: SipHash-2-4 is used in the hash tables implementation of this "safe, concurrent, practical language" developed by Mozilla (patch,hash.rs).

  • Sodium: SipHash-2-4 is the "shorthash" function of this cryptography library based on NaCl

 相关资料
  • 本文向大家介绍PHP的伪随机数与真随机数详解,包括了PHP的伪随机数与真随机数详解的使用技巧和注意事项,需要的朋友参考一下 首先需要声明的是,计算机不会产生绝对随机的随机数,计算机只能产生“伪随机数”。其实绝对随机的随机数只是一种理想的随机数,即使计算机怎样发展,它也不会产生一串绝对随机的随机数。计算机只能生成相对的随机数,即伪随机数。 伪随机数并不是假随机数,这里的“伪”是有规律的意思,就是计算

  • 生成随机数 # random_random.py import random for i in range(5): print('%04.3f' % random.random(), end=' ') print() # random_uniform.py import random for i in range(5): print('{:04.3f}'.format(ran

  • 问题内容: 我一直在阅读《 游戏编码完成》(第4版) ,但在理解第3章“有用的东西的袋子”一节中的“一组伪随机遍历”路径时遇到一些问题。 您是否想过CD播放器上的“随机”按钮如何工作?它会随机播放CD上的每首歌曲,而不会播放同一首歌曲两次。这是一个非常有用的解决方案,可确保游戏中的玩家在有机会再次看到相同功能之前,先看到最广泛的功能,例如对象,效果或角色。 在描述之后,将继续讨论我尝试用Java实

  • 问题内容: 当我发现一些奇怪的东西时,我正在玩一些代码: 对我来说奇怪的是变量i地址的变化。 我的猜测是内核提供了不同的堆栈起始地址来尝试阻止某种破解。真正的原因是什么? 问题答案: 正是由于这个原因,在多个操作系统上使用了地址空间布局随机化。堆栈指针地址的变化很可能是由这种情况引起的- 在最新版本的Linux和/或* BSD上很可能是这种情况。IIRC Windows的最新版本也可以做到这一点。

  • 问题内容: 如何生成(伪)随机字母数字字符串,例如:PHP中的“ d79jd8c”? 问题答案: 首先用所有可能的字符组成一个字符串: 您还可以使用range()更快地完成此操作。 然后,在一个循环中,选择一个随机数并将其用作字符串的索引以获取随机字符,然后将其附加到您的字符串中: 是随机字符串的长度。

  • Java的Random函数接受一个种子,并产生一个“psuedo-random”数字序列。(它是基于,但文章太技术性了,我看不懂) 它有反函数吗?也就是说,给定一个数列,有可能从数学上确定种子是什么吗?(意思是,暴力强制不是一种有效的方法) 例如,函数有一个反函数,即。 但是函数没有反函数,因为(我可以在这里给出充分的数学证明,但我不想绕开我的主要问题),直观地说,有不止一对这样的。 现在回到我的