什么时候使用 CRC 比 MD5/SHA1 更合适?

2023-12-01

何时适合使用 CRC 进行错误检测,而不是使用 MD5 或 SHA1 等更现代的哈希函数?前者更容易在嵌入式硬件上实现吗?


CRC 可以很好地检测数据中可能出现的随机错误,例如网络干扰、线路噪声、失真等。

CRC 的计算复杂度远低于 MD5 或 SHA1。使用像 MD5 这样的哈希函数对于随机错误检测来说可能有点大材小用。然而,使用 CRC 进行任何类型的安全检查都比 MD5 等更复杂的散列函数安全性低得多。

是的,CRC 在嵌入式硬件上实现起来要容易得多,您甚至可以在 I2C 上为此获得不同的封装解决方案。

Update是的,这个答案已经很旧了。出于安全目的,请不要使用 SHA1 或 MD5 ;)

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

什么时候使用 CRC 比 MD5/SHA1 更合适? 的相关文章

  • 在perl脚本中调用带有输入参数和输出光标的存储过程

    尝试在 perl 脚本中执行过程 Proceure gt 创建或替换 PROCEDURE Getproc v catg IN CHAR DEFAULT NULL v cursor OUT SYS REFCURSOR 执行程序 my sth
  • C++11:是否有一些原因导致某些常规类型不应该专门化`std::hash`?

    对于常规类型 我的意思是 Stepanov 的定义编程要素基本上 存在相等的概念 并且作为彼此副本的对象比较相等 所以当你有常规类型时T 并且等式关系是传递的 a b b c gt a c 你可以定义一个 不平凡的 符合等式定义的哈希函数
  • 我可以从哪里开始使用可编程硬件?

    一段时间以来 我一直渴望至少学习一点有关硬件编程的知识 并想在这里提出要求以获得一些起点 我是一位相当有成就的程序员 具有 Delphi 和 Objective c 经验 但从未听过设备端口 中断 我什至不知道术语 更不用说对硬件进行编程了
  • 快速CRC算法?

    我想从 ASCII 字符串创建一个 32 位数字 CRC32 算法正是我正在寻找的 但我无法使用它 因为它需要的表太大了 它适用于资源非常稀有的嵌入式系统 那么 对于快速且精简的 CRC 算法有什么建议吗 当冲突的可能性比原始 CRC32
  • C# 如何计算出对象的哈希码?

    这个问题来自于讨论tuples https stackoverflow com questions 101825 whats the best way of using a pair triple etc of values as one
  • 如何替换所有带有“.”的哈希键?

    我正在使用 Ruby on Rails 4 我想替换所有哈希键 以便将哈希值从 h before aaa bbb gt 1 c gt 2 to h after bbb gt 1 c gt 2 也就是说 我想以某种方式 解调 所有具有 我怎样
  • 如何将目录路径转换为唯一的数字标识符 (Linux/C++)?

    我正在研究获取目录 文件夹 并派生某种形式的唯一数字标识符的方法 我研究了 字符串到哈希 方法 但是 鸽子洞原理 http www codinghorror com blog 2007 12 hashtables pigeonholes a
  • STM32 传输结束时,循环 DMA 外设到存储器的行为如何?

    我想问一下 在以下情况下 STM32 中的 DMA SPI rx 会如何表现 我有一个指定的 例如 96 字节数组 名为 A 用于存储从 SPI 接收到的数据 我打开循环 SPI DMA 它对每个字节进行操作 配置为 96 字节 是否有可能
  • 如何使用 Node JS 对包含小数/尾随零的数据生成哈希

    在尝试验证 Node JS 中的 Authorize net webhook 通知时 我遇到了以下与小数 尾随零有关的问题 Authorize net 使用 HMAC SHA512 以及 Webhook 通知正文和商家的签名密钥形成哈希 该
  • 工作站和嵌入式程序员之间的心态差异[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 在Python中计算结构体的CRC

    我有以下结构 来自 C 中的 NRPE 守护程序代码 typedef struct packet struct int16 t packet version int16 t packet type uint32 t crc32 value
  • 如何按值降序对哈希进行排序并在 ruby​​ 中输出哈希?

    output sort by k v v reverse 和钥匙 h a gt 1 c gt 3 b gt 2 d gt 4 gt a gt 1 c gt 3 b gt 2 d gt 4 Hash h sort 现在我有这两个 但我试图按值
  • 构建 makefile 依赖/继承树

    如果我解释得不好或者问了一些明显的问题 我很抱歉 但我是 Linux 内核的新手 而且有点深入 我们有一个嵌入式 Linux 系统 它附带一个 文档非常糟糕的 SDK 其中包含数百个文件夹stuff 大多数文件夹包含rules make m
  • 在嵌入式 Jetty 上使用 DefaultServlet 提供静态 html 文件

    我正在开发一个需要独立的项目 因此我决定将 Jetty 嵌入到我的应用程序中 我将提供静态 HTML 页面 一些 JSP 页面 并且还将使用一些自定义 servlet 我找到了一个完美的示例 说明如何设置嵌入式 Jetty 来完成所有这一切
  • 非加密用途的最快哈希值?

    我本质上是在准备要放入数据库的短语 它们可能格式错误 所以我想存储它们的简短散列 我将简单地比较它们是否存在 所以散列是理想的 我假设 MD5 在处理 100 000 个请求时相当慢 所以我想知道散列短语的最佳方法是什么 也许推出我自己的散
  • 如何将两个不同的哈希数组中的值添加在一起?

    我有两个哈希数组 哈希值的键不同 player scores1 first name gt Bruce score gt 43 time gt 50 first name gt Clark score gt 45 minutes gt 20
  • NodeJS 在目录中递归地哈希文件

    我能够实现目录中的递归文件遍历 即探索目录中的所有子目录和文件 为此我使用了answer https stackoverflow com questions 5827612 node js fs readdir recursive dire
  • 防止 .exe 时间戳发生变化

    有谁知道如何防止可执行文件的时间戳更改 我正在尝试为 exe 生成一致的哈希代码 但我认为时间戳可能会阻止这种情况发生 每次我重新编译代码 VS C 时 FastSum 都会生成不同的校验和 Thanks PE 文件格式 如 EXE 中 具
  • 在 MySQL 中插入时检查并防止相似字符串

    简要信息 我有3张桌子 Set id name SetItem set id item id position TempSet id 我有一个函数可以生成新的随机组合Item桌子 基本上 总是在成功生成之后 我在中创建一个新行Set表 获取
  • 哈希表的空间复杂度是多少?

    具有 32 位键和指向单独存储的值的 32 位指针的哈希表的大小是多少 是 2 32 个槽 4 字节 键 4 字节 指向值的指针 4 10 9 4 4 32GB 我想了解哈希表的空间复杂度 我认为你问错了问题 数据结构的空间复杂度表示它占用

随机推荐

  • XSLFGroupShape 不包含其子形状

    我正在使用 Apache POI 3 16 撰写本文时的最新版本 在下面的代码片段中 我创建了一个 XSLFGroupShape 然后用它来创建一堆子形状 XSLFGroupShape group slide createGroup XSL
  • int64 是否限制 numpy 和 pandas 中的最大值?

    当 numpy 数组或 pandas 系列的类型为 int64 时 这是否会将单元格可以存储的最大值限制为某个值 例如 在python3中 int没有限制 numpy 或 pandas 中的 int64 有限制吗 Yes int64表示它使
  • 在 Firebase 中通过电子邮件查找 UID

    我首先尝试实例化数据库中的每个用户 如下所示 emails email email protected uid x 我很快发现我无法存储电子邮件 因为它有一个 and 我最初打算像这样进行用户查找 func userLookUpByEmai
  • Magento 1.7 按多个类别过滤产品

    我正在寻找一种方法来按当前类别和可选子类别过滤类别页面上返回的产品 到目前为止 我见过的每个解决方案都是 显示属于 a 类或 b 类的产品 我需要编辑哪个文件才能通过作为查询参数传递的附加可选类别 ID 例如 catfilter 32 看这
  • 停止 NSTimer 并关闭视图控制器(快速)

    我在用NSTimer在我的中查找更新firebase数据库 我已将代码放入我的viewDidLoad NSTimer scheduledTimerWithTimeInterval 5 0 target self selector selec
  • Leakcanary 使用 Otto 报告内存泄漏

    跟进我的最后一个问题 这是我无法摆脱的第二个内存泄漏 我读到我需要根据 Activity 和 Fragment 生命周期注册和注销我的静态 Otto 总线 因此我添加了对 onStop 和 onStart 的注册和注销调用 有一个按钮可以触
  • 如何对多列进行计数(不同)

    这不起作用 select count distinct colA colB from mytable 我知道我可以通过双重选择来简单地解决这个问题 select count from select distinct colA colB fr
  • ASP.NET:WCF 和无法加载文件或程序集“App_Web_hamznvwf”

    我最近开始使用支持 AJAX 的 WCF 并且一直受到这个 NET 缓存问题的困扰 无法加载文件或程序集 App Web hamznvwf 我的服务器每天会遇到 4 到 5 次这样的问题 Win 2003 看第一篇文章 因此 我将文件从服务
  • 远程服务器命令执行

    在远程服务器上执行 shell 命令并在不实际登录的情况下获取输出的最佳方法是什么 也许用 ssh 密钥 最好用python 你的意思是不登录manually 因为实际上允许您在根本不登录的情况下执行命令的服务器将带来巨大的安全风险 看起来
  • 使用 XML 数据类型读取存储在 SQL Server 2008 R2 中的 XML 文档

    我正在使用 SQL Server 2008 R2 和 ASP NET 3 5 我在 SQL 端以 XML 形式存储数据表 NET 列的数据类型为 XML 这是将 XML 存储在 SQL Server 的表列中的示例
  • 在 vb.net 中显示加载屏幕

    当长时间的进程正在运行时 我需要显示一个屏幕或其他内容 说 正在加载 或其他内容 我正在使用 Windows Media Encoder SDK 创建一个应用程序 需要一段时间来初始化编码器 我希望在启动编码器时弹出一个屏幕 显示 正在加载
  • AttachNotSupportedException:没有提供者安装 java 代理

    我在将 Java 应用程序附加到远程 Java 虚拟机时遇到问题 我在 Windows 7 上使用 java 8u45 并且我的附加代码非常简单 import java io IOException import java util Lis
  • 在 C++ 中将数组传递给函数

    include
  • JPA RollbackException 但不在单元测试中

    我有一个 java 项目 其中包含一组单元测试 这些单元测试使用 JPA2 执行简单的更新和删除 单元测试运行没有问题 我可以验证数据库中的更改 一切都很好 我尝试在处理程序 Smartfox 扩展 中复制 粘贴相同的函数 我收到回滚异常
  • 我应该针对哪个版本的 Android 进行开发? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 刚刚开始为 Android 开发 想法是创建一个在 A
  • Flask sqlalchemy 多对多插入数据

    我试图在这里建立多对多关系Flask SQLAlchemy 但似乎不知道如何填写 多对多标识符数据库 您能帮助我了解我做错了什么以及它应该是什么样子吗 class User db Model tablename users user id
  • 如何使用 Applescript 构建和运行 Xcode?

    我正在尝试让 Xcode 使用 Applescript 构建和运行我的项目 这是同样的问题如何使用 Applescript 构建和运行 Xcode 但我认为这个答案可能已经过时了 因为它在我的机器上不起作用 我明白了 execution e
  • iOS CALayerInvalidGeometry

    我的应用程序崩溃了 并显示以下消息 由于未捕获的异常 CALayerInvalidGeometry 而终止应用程序 原因 CALayer 位置包含 NaN 2 74665e 34 nan 这里有更详细的异常消息 CALayer positi
  • 为什么碰撞不起作用,cocos2d v3?

    我用 cocos2d v3 创建了像 flappybird 这样的简单游戏 接口类 interface GameScene CCScene
  • 什么时候使用 CRC 比 MD5/SHA1 更合适?

    何时适合使用 CRC 进行错误检测 而不是使用 MD5 或 SHA1 等更现代的哈希函数 前者更容易在嵌入式硬件上实现吗 CRC 可以很好地检测数据中可能出现的随机错误 例如网络干扰 线路噪声 失真等 CRC 的计算复杂度远低于 MD5 或