通过哈希值比较长字符串

2023-11-21

为了提高比较字符串的函数的性能,我决定通过比较它们的哈希值来比较它们。 那么,如果两个非常长的字符串的哈希值彼此相等,那么是否可以保证这些字符串也彼此相等?


虽然可以保证 2 个相同的字符串会给您相同的哈希值,但反之则不然:对于给定的哈希值,总是有几个可能的字符串产生相同的哈希值。 这是真的,因为鸽巢原理.

话虽这么说,两个不同的字符串产生相同散列的机会可以变得无限小,以至于被认为相当于 null。

这种哈希的一个相当经典的例子是MD5,具有近乎完美的 128 位分布。这意味着 2^128 中有一次机会 2 个不同的字符串产生相同的哈希值。好吧,基本上,几乎和不可能一样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通过哈希值比较长字符串 的相关文章

随机推荐

  • 我将如何在 python 中播放闹钟声音?

    我有一个自己制作的时钟 我想把它做成闹钟 假设您使用的是 Windows import winsound winsound PlaySound alert wav 如果您使用的是 Linux 或者我相信是 Mac OS X 您可以使用 py
  • HTML 中使用 '\n' 换行

    有没有办法让HTML正确处理 n换行 或者我必须将它们替换为 br div class text abc def ghi div 这是为了在 HTML 中显示换行符和回车符 那么你不需要明确地这样做 您可以在 CSS 中通过设置空白属性 p
  • clojure 映射函数中的奇怪之处

    clojure 中的映射的第一个奇怪的事情是以下代码片段 apply map list 1 a 2 b 3 c 结果令我惊讶 1 2 3 a b c 任何人都可以解释它是如何工作的吗 apply f x y z 相当于 f x y z 所以
  • 在 PyInstaller 中找不到导入的模块

    我在 Windows 中工作 使用PyInstaller打包一个python文件 但发生了一些错误 Traceback most recent call last File
  • JDBC 使用 SELECT FOR UPDATE 锁定行,不起作用

    我遇到了 MySQL 的 SELECT FOR UPDATE 问题 这是我尝试运行的查询 SELECT FROM tableName WHERE HostName UnknownHost ORDER BY UpdateTimestamp a
  • 优化/简化路径

    假设我有一条包含 150 个节点 顶点的路径 如果这样的话 例如 具有 3 个顶点的直线将删除中间的一个 因为它不会添加到路径中 我该如何简化 另外我怎样才能避免破坏尖角 我怎样才能消除微小的变化并保留平滑的曲线 Thanks 对于每 3
  • 为什么我在使用 TStream 类时收到“抽象错误”?

    当我尝试运行以下简单的代码序列时 我得到了Abstract Error错误信息 type TForm1 class TForm Image1 TImage Button1 TButton procedure Button1Click Sen
  • Android:制作可滚动的自定义视图

    我已经滚动了自己的自定义视图 并且可以正常绘制到屏幕上 但我真正想做的是将屏幕的测量高度设置为 1000px 并让用户在 Y 轴上滚动 但我 我这样做时遇到问题 有人可以帮忙吗 这是一些代码 public class TestScreen
  • 如何在java中将.csv文件读入数组列表?

    我有一项大学作业 要求我从 csv 文件中获取数据 并以三种不同的方法读取 处理和打印它 这些说明要求我将数据读入数组列表中 我已经编写了一些代码来执行此操作 但我不确定我是否正确完成了操作 有人可以帮助我理解我应该如何将文件读入数组列表吗
  • 所有ajax请求完成后如何调用警报?

    我正在代码中使用 JQuery 发出一些请求 get 看起来像 get address1 function get address2 function get address3 function This code should be ru
  • 在 ASP.NET Core 6.0 和 7.0 上使用 Systemd

    如果你想在 Linux 上使用 systemd 托管你的 ASP 应用程序ASP NET 核心 5 你必须添加Microsoft Extensions Hosting Systemd具有此配置的 nuget 包 public class P
  • 为什么使用 foreach 时不执行此 LINQ 查询?

    在 LINQ 语句中创建新对象时 例如 var list new List
  • Android开机时启动后台服务

    我需要始终有一个后台服务来同步我的 Android 应用程序和服务器 我知道如何通过我的应用程序启动它 但是当 Android 关闭时 后台服务就会消失 如何才能让后台服务始终运行 即使设备关闭然后再打开 我需要将我的后台服务添加到Andr
  • 如何更改搜索结果中的“使用 create-react-app 创建”?

    我试图将我的投资组合的链接发布到 linkedin 上 但它总是显示 使用 React 应用程序创建的网站 作为描述 这绝对不会使它看起来很专业 它部署在我的域上 但有什么方法可以摆脱我的域链接上的所有 create react app 默
  • 如何实现词性 (POS) 标注器

    我正在寻找基于 PHP 的最佳方法来扫描大量文本条目 分类 并提取关键字 有人知道词性标记吗 有 PHP 风格的方法来做到这一点吗 我扫描了很多在线分类广告 但没有一个有类别 为了加快分类过程 我希望安装词性标注器 http en wiki
  • Laravel Fluent Query Builder 与子查询连接

    好吧 经过几个小时的研究并仍在使用 DB select 我必须问这个问题 因为我正准备扔掉我的电脑 我想获取用户的最后一个输入 基于时间戳 我可以用原始 sql 来做到这一点 SELECT c p FROM users c INNER JO
  • SSRS 计数 IF 多个值

    我正在创建一份教育报告 我有很多成绩 我想将 A C 的成绩数量相加 类似于 SUM WHERE Grades IN A B C 我如何在表达式中执行此操作 我可以对 Choose 语句进行 SUM 或其他操作吗 我试过 SUM Choos
  • 使用 OUT 参数从函数返回列表

    我想创建一个 CMake 函数 function test src list dst list do something endfunction usage test my list chg list 它的意思是 my list是一个包含多
  • SQL Server 中默认的锁定粒度是多少?

    我已彻底阅读MSDN 关于表格提示而且我似乎没有找到默认的锁定粒度 假设我有以下查询 SELECT TOP 1 FROM MyTable WITH UPDLOCK READPAST ORDER BY SomeColumn ASC 你看 我指
  • 通过哈希值比较长字符串

    为了提高比较字符串的函数的性能 我决定通过比较它们的哈希值来比较它们 那么 如果两个非常长的字符串的哈希值彼此相等 那么是否可以保证这些字符串也彼此相等 虽然可以保证 2 个相同的字符串会给您相同的哈希值 但反之则不然 对于给定的哈希值 总