首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在给定密钥和字符串的情况下,如何快速确保字符串未被篡改?

在给定密钥和字符串的情况下,如何快速确保字符串未被篡改?
EN

Stack Overflow用户
提问于 2011-02-13 02:58:42
回答 2查看 134关注 0票数 0

我有一把钥匙,可以认为是秘密的。我正在传递一个字符串,我必须假定用户能够篡改它,并且我想验证它是否被篡改。

我可以使用mcrypt_encrypt存储结果,在读取时使用mcrypt_decrypt,或者我可以使用$hash = hash('sha256', $key . $string);并存储$hash . $string,然后验证散列。问题是a)速度--有没有一个基准来比较各种加密算法的解密速度与散列的速度? b)如果我散列了几个都有相同前缀的字符串,这会削弱散列吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-13 03:11:13

我太傻了,我需要使用的函数是使用密钥hash_hmac进行散列。

票数 2
EN

Stack Overflow用户

发布于 2011-02-13 03:03:12

对于你的问题的第二部分:不,它不应该削弱散列。如果用户想要篡改字符串,他们必须找到另一个散列为相同值的字符串。散列的设计使得即使是非常相似的字符串也会散列成不同的值。

对于第一个问题,这取决于你的机器和其他一堆东西,换成几个不同的哈希算法并为你的特定机器运行一些基准测试应该是相当容易的。

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

https://stackoverflow.com/questions/4979958

复制
相关文章

相似问题

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