Hash 计算文件散列的最快方法?

很多文件将存储在数据库中,我需要文件哈希来唯一标识文件没有更改。 (通常,将用作Windows个人防火墙部件)当然,这在一般情况下是不可能的。许多人仍在为此目的使用哈希算法,这是一种流行的算法,它为文件提供128位的“签名”,当文件内容发生变化时,很有可能发生变化 在一般情况下,您需要查看文件的每一位以将其包含在哈希中,并且性能可能会受到I/O限制。它是对文件中所有数据的顺序扫描,更新每个新字节使用的任何哈希算法的状态。在现代CPU上,后者将比前者更快。在奔腾90 MHz CPU上显示约45 M

Hash “怎么可能是不可能的?”;“解密”;MD5哈希?

可能重复: 我在读一个关于MD5的问题,它让我想起了一些让我感到困惑的事情。非常简单的问题,如果不是个好问题,我很抱歉。我只是不明白你是如何用某种算法把一件东西转换成一件东西的,而且没有办法用相反的算法把它转换回来 那么这怎么可能呢 此外,由于多个字符串可以创建相同的MD5哈希,因为它的数据比输入字符串少,其他哈希系统如何更好?基本上是因为MD5的输出包含的信息比输入少。这就是散列算法与加密算法的基本区别 这里有一个简单的例子:想象一个算法来计算一个10位数字的散列。算法是“返回最后2位数字”

Hash 如果md5消息的长度已经合适,那么填充它的目的是什么?

我知道md5中填充的过程,但是在已经是正确长度的消息中添加1和几个0的目的是什么 这是为了安全还是仅仅是一个标记?消息被填充,以便长度可以被512整除。请记住,它是为其计算哈希的消息的位表示形式。由于消息需要被分成512位的块,额外的位被添加作为填充。有关更多详细信息,请查看Wiki上的部分。填充过程不得创建冲突。如果您有一条消息m,它将填充到pm中,pm的长度是512的倍数。现在将pm想象为消息m’本身,即已添加的填充位,好像它们是消息的一部分。如果填充只是保持m'不变,正如您所建议的,那么m

Hash 截断sha-160散列会产生合理的散列吗?

我有一个sha-160计算,它给了我一个160位的数据散列,但我想这比需要的要大得多。所以我想我可以把结果的散列值截短为低64位,然后使用它 采用sha-160散列计算的低64位是否会产生合理的随机64位散列?一部分好的散列意味着它的任何固定的位子集也是好的散列(只要可能,给定多少位)。SHA-160散列的低64位应该是一个好的64位散列,只要存在这样的情况 注意,出于某些目的,64位实际上并不是那么多。例如,如果有人用相同的哈希值找到两个不同的东西时,应用程序中出现了任何问题,那么您可能需要更

Hash 如何将SHA-256编码两次?

很简单,如何获得下面的“第二轮” 你好 2cf24dba5fb0a30e26e83b2ac5b9e29e1b161e5c1fa7425e73043362938b9824(第一轮sha-256) 9595c9df90075148eb06860365df33584b75bff782a510c6cd4883a419833d50(第二轮sha-256) 我去一个在线散列计算器,输入“你好”,得到第一轮,然后把散列放入计算器,得到的结果与第二轮不同。那么它是如何做两次的呢?当您将第一个散列输出粘贴回散列计

Hash md5";%02x";格式化输出

我必须计算一个文件的md5哈希。我成功地找到了库来做这件事,它们在屏幕上打印哈希。 我必须在txt文件上打印哈希,但我有一些问题。它只打印所有32位散列的00个整数。这是打印功能。我只添加了打开文件并在上面打印的行,函数的其余部分来自库,工作正常,因为在屏幕上哈希是以正确的方式打印的 fprintf和%02x似乎有一些问题。谢谢 static void MDPrint(mdContext) MD5_CTX*mdContext; { int i; 文件*fp; 如果((fp=fopen(“user

Hash 在不保存为明文的情况下强制执行大量密码更改的最佳方法?

试图找到一种加密安全的方法来散列用户的密码,这样我就能够判断新用户选择的密码是否与原始密码“明显不同”,而不必以明文形式保存原始密码。这是可行的吗?您让用户在输入新密码的同时输入旧密码(您无论如何都应该这样做)。将旧密码的哈希值与存储的旧密码的哈希值进行比较以进行验证,然后比较提供的两个明文密码:旧密码和新密码。不,不是这样,这就是哈希的全部思想 您需要使用可逆加密。以下是一种可能的方法: 要求用户输入其旧密码和新密码 检查旧密码是否正确 比较两个明文密码并检查相似性(使用类似的方法) 如果有

Hash 用户身份验证失败/w哈希

我需要保护我的网络商店中的一些区域,以供管理员使用。 问题在于用户的身份验证:salt+哈希失败 这是我创建密码的代码(使用PHP5.x): $salt=rand(099999999) $passEncr=sha1($pass1+salt); 此变量$passEncr与其salt一起插入数据库 在登录页面,我进行了以下检查: $password = $_POST['password']; // hash+salt in the database $storedSalt = $row['sal

Hash 一种盐能提供额外的安全性吗?

我知道最好的做法是为您使用的每个密码生成一个长的salt。但是,使用一种盐是否会因为根本没有盐而带来任何安全好处 共享一份盐会让你更加安全。它可以防止攻击者使用预先计算的彩虹表攻击,但不能阻止他们为您的密码数据库构建一个新的彩虹表。因此,攻击者很难用给定的salt破解单个密码,但他们用该salt破解每个密码要容易得多 作为一个例子,考虑以下简化的密码、盐和散列集合: Password Salt Hash aaaaaz y03sar ze4lap zzzzza y03sa

Hash 用于分析的redis密钥方案

我想使用redis创建分析-每个对象的基本计数器、每小时/天/周/月/年和总数 什么样的redis数据结构对此有效?如何避免多次调用redis 是否最好让每个模型都有以下几组关键点: 哈希-model::years=>每年都有一个计数器 哈希-模型::=>每个月都有一个计数器 哈希-模型::=>每天都有一个计数器 哈希-模型::=>每小时有一个计数器 如果这个方案是正确的,我如何在不多次调用redis的情况下绘制这些数据?我必须在model::years中循环全年,取月份,然后循环月份,等等?或

Hash 附加密码

我一直在阅读有关存储和检查用户密码的正确程序,我对这些程序有点困惑 我认为它们是为了防止使用彩虹表之类的工具,但对我来说,将盐与散列一起存储似乎是一个潜在的安全问题。一个地方的数据太多,我不喜欢 我的想法是,我想让人们使用“幸运数字”从密码散列的一部分创建一个salt。 基本上,除了选择密码,用户还会选择一个“幸运数字”。然后,该数字将用作从散列传递中检索salt的起始索引 所以一个非常基本的例子是这样的 Pass = "Password" Lucky Number = "4" Pass Has

Hash 使用SHA-1与Php sha1的Coldfusion哈希

我曾尝试在coldfusion 10和php中使用sha-1对某些字符串进行加密 coldfusion代码: <cfsavecontent variable="Mydata"> abcdefghijklmn </cfsavecontent> <cfset data = Hash(Mydata,"sha-1") > <cfdump var="#data#" abort="true"/> PHP输出: 85d7c5ff403abe72df5b8a27

Hash 给定一个完美的散列函数,计算包含

给定一组整数S上的完美散列函数,是否可以计算S中包含的整数,即,如果整数不在S中,是否可以在不读取哈希表本身的情况下进行判断,如果整数在S中,是否可以在不读取哈希表的情况下进行判断?假设我们有一个最小完美散列函数。所以哈希表的大小是n,S的大小是m,n=m。如果这是显而易见的,我道歉 不可以,因为一个完美的哈希函数将每个可能的整数映射到一个索引 您可以做的是:对于每个键,只存储一些附加信息,例如该键的哈希代码的最后几位。这样,您就可以说(以可配置的概率;这取决于您存储的数据量)整数是否可能在集合

Hash 理解哈希表和彩虹表

所以我试图更好地理解哈希表和彩虹表,在我的阅读中,我感觉我开始掌握它的窍门了。有一个关于检查你的知识的问题,是这样的: “如果您有一个存储sha-256密码的哈希表,并且您希望整个表存储在内存中,并且您有4GB的内存,您可以破解多少密码?如果您使用一个彩虹表,每个链中有20个密码,您可以破解多少密码?(假设密码为10个字符)” 这一次完全让我怀疑我是否知道我读过的东西。这就是我到目前为止想到的 如果每个ShA-256散列的大小总是256位,我们知道一个兆字节中有8388608位,这等于每个兆字节

Hash 为什么几乎所有的Web服务器都不在客户端散列您的密码?

例如,在客户端将文本编码到md5,然后通过post方法发送并作为md5散列存储在服务器数据库中是否更安全?通常,可能的密码副本应该通过tls发送,tls更安全,不会公开您的散列模式如果我可以嗅探您的密码并模拟您,然后我还可以嗅出散列并模仿你。两者之间完全没有差别。还要注意,MD5作为密码散列函数是绝对糟糕的。MD5很快,密码哈希函数应该很慢。MD5不是一个安全的密码哈希算法。请避免实施密码散列,这比听起来要困难得多,因为如果你做错了,就不会出错。您的系统将在非常不安全的情况下正常工作。

Hash 如何将长度为20字节的以太坊钱包地址转换为Metamask中的十六进制格式?

使用Geth源代码中的一些代码,我试图找到一种生成有效以太坊钱包的方法。首先,我使用十六进制版本的secp256k1素数减1,即“FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAEDCE6AF48A03BBFD25E8CD0364140”。将其插入元掩码,我得到一个地址“0x80C0dbf239224071c59dD8970ab9d542E3414aB2”。我想使用这些函数来获得等效地址 到目前为止,我已经将私钥的十六进制格式设置为“ffffffffff

Hash 使用汇总对文件名进行哈希处理

我对bundler和rollup非常陌生。在为生产构建时,在rollup.config.js中有条件地散列文件名,同时保存index.html以引用新的.css和.js散列版本的最佳方法是什么 我在中看到了这一点,但我想我不知道如何根据dev/prod设置有条件地设置这些选项 output: { sourcemap: true, format: 'iife', name: 'app', file: 'public/build/bun

Hash 这是什么样子的?

我不熟悉解码技术,昨天刚刚了解了base64、sha-1、md5和其他一些技术 我一直在试图弄清楚“orkut”蠕虫到底包含什么 在过去的几天里,我遭到了许多orkut垃圾邮件发送者和黑客的攻击,他们发送给我们的URL也有相似之处 我不知道它包含什么信息,但我需要弄清楚 问题在于以下文本: Foo+bZGMiDsstRKVgpjhlfxMVpM= lmKpr4+L6caaXii9iokloJ1A4xQ= 上面的编码似乎是base64,但事实并非如此,因为每当我尝试使用在线base64解码器对其

Hash 什么';散列信息的目的是什么?

在课堂上被教过如何创建哈希表之后,我不明白哈希数据什么时候有用。在我看来,散列所做的只是将信息存储在数组中的半随机位置。我想知道任何数据存储后如何变得有用 我的问题是:哈希信息有益的例子有哪些?如何以任何有组织的方式检索数据?它似乎被放置在难以取回的任意位置 哈希可用于多种用途: 它可以用来比较大量的数据。您为数据创建散列,存储散列,然后如果要比较数据,只需比较散列即可 散列可以用来索引数据。可以在哈希表中使用它们来指向正确的行。如果要快速查找记录,请计算数据的哈希值,并直接转到相应哈希记录所指

Hash 一致性哈希作为一种扩展写入的方法

我正在努力弄清楚我是否走上了正确的道路。我正在构建一个(实时)统计/分析服务,我使用redis存储一些集合和散列 现在让我们假设我取得了一些成功,我需要扩大规模。哈希环技术看起来不错,但我觉得它只适合缓存场景 如果节点发生故障怎么办?理论上,它的密钥现在由其他节点拥有。实际上,他们没有这些数据。它丢了,对吗?与添加/删除节点相同 我错过了一些基本的东西吗?这是穷人的集群吗?在集群中使用多个节点有两个原因: 分片以限制每个节点上存储的数据量 复制以减少读取负载,并允许在不丢失数据的情况下删除节点

Hash 整数对中唯一散列的公式

我想我可以使用Cantor创建一个唯一的散列n=((x+y)*(x+y)+x-y)/2 但是我能把这个散列倒过来吗?如果没有,有人能为可逆散列提供类似的公式对吗 谢谢。这是两个整数的唯一、可逆且完全不实用的哈希: 对于两个数字x和y,返回第x个素数和第y个素数的乘积。如果您假定顺序无关紧要,则这是唯一的和可逆的。如果是,那么您可以添加一个字符,指示“哈希”的两个素数因子中的哪一个是x或y 请注意,哈希空间大于输入空间。哦,好吧。如果x、y和n都是相同的数据类型,那么在一个位中存储多个位就会得到这

Hash 有效的md5/sha1/etc输入字符?

哪些字符是常用散列方法的有效输入。我猜人类/计算机已知的所有可能的符号都不是有效的输入。md5/sha1/5的输入不是字符/符号,而是字节。所以你的问题有点无意义 所有字节序列都是有效输入 字符和符号不明确,无法散列。a的md5是什么?如果您回答这个问题,那么您错误地假设了ASCII,即使我可以用UTF-16/32或EBCDIC对其进行编码,以获得完全不同的哈希值。不要让我从非ASCII符号或字符开始。所以这个问题是不明确的,除非我提到以字节或字符+字符编码的输入 我推荐阅读

Hash Riak,merkle树,实现

有人能给我解释一下merkle树是如何在riak内核中实现的吗 例如,我不明白Offset是什么 谢谢 该树或多或少都是一个K/V查找树和一个Merkle树。树是通过查看160位sha1散列来定义的。160位表示20个字节。在树的第一级,我们根据散列的第0个字节存储多达256个子树。在下一级,它是第一个字节,然后是第二个字节,依此类推 这就是所谓的数字树方案,散列中的数字对树中的路径进行编码。这允许我们替换树中的数据。或者,查找概念trie。同时,我们用sha1对每个节点进行签名,以跟踪给定子

Hash 通过相似性哈希/度量进行字符串聚类

我想将中等大小的10-20个字符的字符串汇总到组中。 这意味着,如果两个字符串非常相似,例如soccer和socer,则两者的哈希值应相似。以整数表示相似,或通过相似性度量返回0或1表示非常相似 是否有与聚类方法相关的基准或评估 现在我知道 直方图和一些。 这个 还是这个问题解决了很长时间,只有标准 提前非常感谢 要研究的最新技术可能有MinHash、LSH、WTA哈希等 您要寻找的不是集群,而是近乎重复的检测 例如,据报道,谷歌新闻(Google News)使用这种方法来检测几乎重复的新闻项目

Hash 对哈希进行编码以适应更少的空间

我能得到的最小哈希值是多少,而不会使事物过度冲突?我想一个很好的例子是散列“foo” 是否还有其他标准,如Base64,使用unicode字符?可能包括上/下umlaut字符,如Ü和ü,以便在每个字符中包含更多位?理想情况下,我希望将sha1哈希压缩为4-6个unicode字符,我可以将其粘贴到URL上。可逆地编码哈希不会影响冲突率。。。除非您的编码导致一些数据丢失(那么它就不再是可逆的) Base64和其他都是可逆的。您的第一个输出是十六进制(或base16)表示,效率为50%。Base64实

Hash 比特币开采:构建一个区块

如果我有所有需要的信息(散列、Merkel根等),我就无法理解如何构建十六进制块 请使用此JSON格式的块作为参考: 我知道前64个字节是块头,但是其余的字节呢 谢谢你的帮助 这里有一些关于比特币块结构的文章: 请记住,JSON与比特币协议不兼容。这是一种易于阅读的原始块表示法 我不知道该怎么办

Hash 应用一个复杂的散列函数,然后取mod n,而不是简单地对输入执行mod n,有什么好处?

在散列中,我们接受输入并应用一些复杂的散列算法。然后,我们使用mod n查找需要将此输入发送到的bucket或服务器。 散列输入x->Hash(x)->除以n->Hash(x)mod n给出存储桶的位置 如果我们直接获取输入而不进行散列,则相当于拥有一个标识散列函数。散列(x)=x。。mod n..Wikipedia将此函数称为“普通”哈希函数 通常,散列(x)是一种复杂的散列算法,如MD5、SHA等。。。 Q1)不管我们如何散列它,它只是归结为一个介于0和n-1之间的值(当除以n时)。那么,哈

Hash 彩虹桌和开膛手约翰

我在一个uni项目上工作,我必须展示工具“开膛手约翰”和“彩虹表”的用法 我玩了不同模式的“开膛手约翰”并搜索了“彩虹桌子”的概念 问题是,我无法理解这两者是如何连接的,如果可能的话,我如何使用自己的“彩虹表”解密密码散列?它们解决了相同的问题,但方向相反: 像JtR这样的密码破解软件动态地对大量候选明文列表执行哈希运算,直到找到一个明文,该明文生成与目标哈希匹配的哈希。如果没有候选明文产生匹配,则原始明文未被发现,哈希未被“破解” Rainbow表将给定哈希与大量(但有限)预计算哈希进行比较

Hash RandomX测试数据(用于Monero采矿)

因此,我正在实现一个monero矿工池,现在想找到一些数据进行测试。 因此,为了确保我的实现是正确的,我希望向它提供测试数据——因此,我正在寻找一个有效的nonce,该nonce已使用满足目标难度的RandomX对blob进行散列 我目前正在做的事情: 从池接收作业(这里是一个示例): 我认为我对这些进行了正确的分类,如果没有,请纠正我: Versions: 0e0e Timestamp: dfaf898506 Prev Id: 8b54486d4fe3efc543bc57efea8b44fdb

Hash 添加密码:最佳实践?

我一直很好奇。。。为哈希设置密码时,哪个更好:前缀还是后缀?为什么?或者这有关系,只要你有盐 解释:我们(希望)现在都知道,在散列密码以存储在数据库中之前,应该先输入密码[编辑:,这样您就可以避免类似的事情了]。通常,这是通过在通过散列算法之前将salt与密码连接起来来完成的。但例子各不相同。。。有些例子在密码前加盐。一些示例在密码后添加盐。我甚至见过一些试图把盐放在中间的东西。 那么哪种方法更好,为什么?是否有一种方法可以降低哈希冲突的可能性?我的谷歌搜索没有找到一个关于这个问题的像样的分析

Hash 两个不同的字符串能否生成相同的MD5哈希代码?

对于每个二进制资产,我们生成一个MD5哈希。这用于检查某个二进制资产是否已经存在于我们的应用程序中。但是,两个不同的二进制资产是否可能生成相同的MD5哈希。那么,两个不同的字符串是否可能生成相同的MD5哈希?是的,这是可能的。这实际上是一个错误。但是,两个随机选择的字符串具有相同MD5哈希的概率非常低 有关示例,请参阅和问题。是的,确实如此!有可能发生碰撞(尽管风险很小)。如果不是,你会有一个相当有效的压缩方法 编辑:正如Konrad Rudolph所说:一组潜在的无限输入转换成一组有限的输出(

Hash 在这种情况下,我应该散列密码吗?

我的网站不包含太敏感的数据。我考虑按原样存储密码,因为如果用户希望通过电子邮件接收他们的密码(如果他们丢失了密码),那么我就可以将密码发送给他们,而不是像发送我创建的新密码那样给用户做任何繁琐和烦人的事(这也是无效的) 我应该按原样存储它们吗?密码是敏感数据-人们在不同的网站上使用它们,你不希望它泄露,或者让它可见-甚至对你或你的程序员都不需要。不,你应该散列它们。大多数用户在多个站点上使用相同的密码,因此即使您的站点不太敏感,也可能有其他具有相同用户名和密码的站点更敏感 如果用户忘记了密码,请

Hash 皮尔逊完全散列

我正在尝试编写一个生成皮尔逊完美散列的生成器。注意,我不需要最小的完美散列。维基百科说,皮尔逊完美散列可以使用随机算法(其中S是一组键)在O(| S |)时间内找到。然而,我还没有在网上找到这样的算法。这可能吗 注意:我不想使用gperf/cmph/等,我宁愿编写自己的实现。Pearson概述了一种算法,用于构造一个置换表t以实现完美的哈希: 这个新的哈希函数的核心表T有时可以修改,以便在一个适当的单词列表上生成一个最小的、完美的哈希函数。事实上,人们通常可以为特定单词选择函数的确切值。例如,K

Hash 用于陷门散列的库/代码?

有人有过陷门散列的经验吗?我正在寻找一些代码示例或我可以使用的Java库。或者有没有一种方法可以使用给定的工具(例如JCE)创建这些散列 问候 Oliver最常见的陷门散列函数是和,它们都依赖于因子分解的难度。以下是一些实现以下功能的Java项目: 你好,谢谢你的回答。这是否意味着使用非对称加密进行散列?例如,我用公钥为某个字符串签名,这就是陷门?@OliverSchmidt您将用公钥加密,而不是签名。(我不会把它算作散列,因为它不是完全确定的)。是的,一个陷门单向函数是一个可以用来

Hash URL中的秘密密码短语是什么

我对在URL中使用一些随机字符串知之甚少 就我所用的而言,我了解到它可以用于任何用户根本猜不到URL的地方 第一次注意到在phpmyadmin,作为河豚的秘密。URL上写着token=secret。我不知道代币 我的问题是-这些字符串到底是什么?这些随机字符串称为令牌吗?在URL中有许多不同的随机字符串用法。你的问题很难回答,因为你没有给我们举任何例子,但我可以描述一个可能的用途 商业网站可能允许用户创建产品的愿望列表。该网站可能希望用户能够向朋友转发他们的愿望列表的URL,但这会让他们难以猜测

Hash 如何计算一组(无序列表)值的散列?

我想计算元素集(无序列表)的sha1散列。我已经计算了每个元素的sha1散列。我正在考虑两种解决方案: 按元素的散列对元素进行排序,并计算此类列表的顶部散列 将元素散列视为160位整数值,并将其XOR(按位操作)合并为一个160位散列 第二种解决方案是否在安全哈希函数属性方面较弱?(预映像阻力、第二预映像阻力、碰撞阻力)。另一个选项(3)是首先对元素进行排序,然后使用不能作为元素一部分出现的分隔符将它们组合成单个字符串 在这些可能性中,我最关心的是2个。我现在想不出你怎么能用一种实际的方式来攻击

Hash 如何与ed25519 donna进行哈希运算

很抱歉,我问了一些编程问题,但我想确定我正确地使用了这个库的密码 除了对数据进行哈希处理以获得签名之外,我已经成功地实现了 据我所知,这是散列数据的函数: void ed25519_hash(uint8_t *hash, const uint8_t *in, size_t inlen); 但我不知道散列是什么。我相当确定*in和inlen是要散列的数据及其长度 这是SHA512特有的吗 一个人怎么能和ed25519 donna混在一起 程序挂起 我已经使用ed25519 donna mast

Hash sas传递查询中的哈希联接

我正在使用sas传递查询连接7个表。我正在对所有表中的一个键变量进行左连接。这些表格包含数亿条记录。 代码运行数小时,有时完成连接,但有时崩溃。 我尝试使用散列联接,但有些表有100个变量。因此散列连接崩溃,因为它提取所有变量。有没有一种方法可以对哈希连接进行编码,从而为结果表选择某些变量? 我尝试使用hashexp:20,但也不起作用。 任何帮助都将不胜感激。 非常感谢。 -rachel是的,将第42行中的分号改为逗号。那会解决的。

Hash 正确的哈希算法/函数

是否有任何安全的哈希算法/函数可以给出所有字母和数字,而不仅仅是0-9,a-f 因此,输出可以包含:0-9、a-z、a-z甚至一些符号。任何哈希算法,真的 十六进制只是它们的常见表示形式。请看使用,因为您没有标记编程语言: 使用摘要::MD5 qw/MD5 md5u hex/; 使用MIME::Base64; 我的$str='Foobar'; 十六进制表示法 打印md5_十六进制$str\n; Base64编码表示 打印encode_base64md5$str; 输出: 89d5739baabb

Hash 在谷歌';s目录API,当;“地窖”;是否作为用户的哈希函数提供?

根据,hashFunction接受'crypt'作为有效值。我的问题是弄清楚这到底是什么类型的散列 使用PHPs password_哈希函数(我知道它使用crypt)生成的哈希的请求无法工作 请求: 答复如下: { "error": { "errors": [ { "domain": "global", "reason": "invalid", "message": "Invalid Input: $2y$10$qCE0dkXTyFIg6VmqZ/24AuH

Hash 从redis高效查询多个哈希

我希望在redis中有一些对象数据,并希望在表中显示所有对象 在SQL中,我只需要获取所有对象的整行,并将其显示在视图中 在redis中,我不想单独查询每个散列,因为这将是无法忍受的慢 假设我知道要提取的散列键和散列名称,有没有办法有效地执行此操作?我不知道为什么您认为查询每个散列的速度会非常慢。如果您循环使用散列键,并使用字段名为每个字段执行HMGET,那么如果您通过管道处理请求,您应该会做得很好 或者,您可以在一个Lua脚本中执行此操作,该脚本接受(部分)键名作为键,字段作为ARGV,并以您

Hash 有没有办法为非有限输入创建一个完美的哈希表?

因此,哈希表对于集合中数据的恒定时间查找来说确实很酷,但据我所知,它们受到可能的哈希冲突的限制,这会导致少量时间复杂性的增加 在我看来,任何支持非有限输入范围的哈希函数都是减少冲突的一种启发式方法。为任何范围的输入创建一个完美的哈希表有没有绝对的限制,或者这只是一个没有人知道的问题?我认为这取决于你所说的“任何范围的输入”是什么意思 如果您的目标是创建一个哈希函数,该函数可以接受任何内容,并且永远不会产生冲突,那么就没有办法满足您的要求。这是鸽子洞原理的结果——如果您有n个可以散列的对象,那么您

Hash 折叠散列与掩蔽

如果我想要一个8位的散列,为了搜索的目的,最好折叠一个较大的散列,例如128位,还是简单的屏蔽/赋值就可以了 另外,如果我需要一个不是0到2的幂的数字,比如说,0-25。使用mod操作是否有任何问题

Hash 可变输出哈希函数

我知道有一些散列函数,从一个可变长度的输入可以得到一个固定的输出。举一个最简单的例子,使用十的模块,无论输入数字有多大,我都会得到0到9之间的输出 我需要从一个未知的密码,一个可变长度的输出。我的第一个想法是使用这个模块,将prim数增加到输出所需的位数 我的问题是: 我必须像处理长密码一样处理短密码 我不知道在编写程序之前输出需要多长时间,即使我知道在用户设置密码后,如果他修改了文件,我可能需要更改密码 我的第一个想法是使用一个简单的函数,并根据需要修改它 如果我必须散列123,但我需要有

如何使用xxhash方法将长度为100的向量散列到大小为7*7的数组中?

我读过压缩神经网络的书。它使用了xxhash方法,通过散列的概念将类似向量的输入转换为类似数组的形状。我想知道在Python中如何才能做到这一点??@Cyan,谢谢你说得对,但是如何做到?转换步骤对我来说很重要@青青,谢谢你说得对,但是怎么说呢?转换步骤对我来说很重要!

Hash 在数据库中为每个密码存储两个哈希值是一个好主意吗?

在数据库中为每个密码存储两个哈希值(例如SHA-1和MD5)并在登录脚本中检查这两个哈希值以防止冲突,这是一个好主意吗?另一方面,从两个哈希值计算密码不是更容易吗(例如,如果黑客访问了数据库)?我真的不认为为密码存储两个哈希值,然后同时检查这两个哈希值有什么好处。你在这里所做的只是让你的应用程序有更多的工作要做,在我看来,没有提供任何额外的安全级别,因为它们仍然输入相同的密码。这可能没有什么用处 您使用的任何哈希函数都可以安全地防止意外冲突——它们几乎不可能发生。因此,您所关心的唯一冲突是黑客已

Hash 实现MD5:不一致的endianness?

因此,我尝试根据C#实现MD5算法,它是有效的,但关于填充的执行方式,有一点我不理解,下面是一个示例: 如果我想散列字符串“1”(不带引号),这将导致以下位表示:10001100 下一步是附加一个“1”位,表示为00000001(big-endian),后面是“0”位,后面是原始消息长度的64位表示(先是低阶字) 由于原始消息的长度是8(位),我希望追加000000000000000000000000000000000000000000000000000000001000000000000000

Hash 在SAS中重命名哈希合并中的变量

我曾试图学习SAS中的哈希联接,但我被困在了多个具有相同变量名的表的情况下(不是键,没关系,而是其他变量) 我想用两个变量Key和Dat连接表A、B和C。名称键和Dat在这三种语言中都是通用的 如果我将所有三个表中的Dat重命名为Dat_A、Dat_B、Dat_C,那么这种语法对我来说是有效的,但这会破坏目的,因为我必须调用所有三个表,这需要时间 此代码适用于: data merged(keep=KEY DAT_A DAT_B DAT_C); if 0 then set A B C;

Hash Redis使用新行键值哈希存储

我想在Redis散列中存储数据。数据如下(键=值): 在redis中存储此信息的简单方法如下: hmset info 30.2.25 REF_IP 30.2.24 MY_HOST_IP 30.2.32 PEER_IP 30.2.32 IM_USER_MY_HOST 30.2.2 23992 考虑到我有1000个键值,并且想一次更改几个(实际上是这么多)值,所以在上面的命令中搜索和编辑值太痛苦了 我想以以下方式执行命令,即在每个键值后添加新行的格式良好的命令: hmset info 30.2.

  1    2   3   4   5   6  ... 下一页 最后一页 共 37 页