首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有人能帮我在C#中编写CRC64的反向算法函数吗?

有人能帮我在C#中编写CRC64的反向算法函数吗?
EN

Stack Overflow用户
提问于 2010-08-23 01:47:59
回答 3查看 367关注 0票数 0

我是在C#上的CRC64反转算法,但无法编码它。如果有人能帮我,那他就太好了。我迫不及待地想完成编码。

EN

回答 3

Stack Overflow用户

发布于 2010-08-23 03:29:18

这不可能。CRC是一种hash function。散列函数不能可逆。您所能做的最好的事情就是尝试查找给定散列的冲突,但是它们被设计成很难找到这样的冲突。

票数 4
EN

Stack Overflow用户

发布于 2010-08-23 03:34:52

你肯定不能逆转它,因为你在进行“向前”计算时丢失了关键数据,而“向前”计算是“向后”计算所必需的。如果你知道输入可能是什么,你可以尝试暴力破解它,但因为CRC很弱,所以可能会有很多冲突(这意味着你可能会找到很多可能的输入,这些输入可能会产生你的结果),在这种情况下,你无法知道哪一个是正确的。

票数 0
EN

Stack Overflow用户

发布于 2021-02-06 14:02:30

我很确定他要求的是一个“反射”算法。“标准”和“反射”算法是彼此的精确镜像,包括各自使用的多项式。在一个字节序系统上创建/检查的消息不应在另一个字节序系统上颠倒,因为这可能会损害识别突发错误的检查能力。other-endian系统上的“镜像”算法将产生与传输的校验值完全匹配的校验。不确定是否还需要此代码?我可以用要反映的原始代码为您做这件事。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3542988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档