书上看到关于 hash 相关的知识,有一个小疑问想请教大家

2016-12-10 17:06:54 +08:00
 Adia

1770 次点击
所在节点    问与答
14 条回复
wy315700
2016-12-10 17:07:57 +08:00
hmac
tomczhen
2016-12-10 17:09:58 +08:00
可以使用带秘钥 hash 或者将签名用非对称加密。
v9ox
2016-12-10 17:11:59 +08:00
这书太烂了

我理解应该是摘要部分要用私钥加密 接收的人用公钥对摘要进行验证 确定摘要的发送人没有被替换
Adia
2016-12-10 17:12:51 +08:00
@wy315700 “ HMAC 是密钥相关的哈希运算消息认证码( Hash-based Message Authentication Code ),HMAC 运算利用哈希算法,以一个密钥和一个消息为输入,生成一个消息摘要作为输出。” 请问是加了个盐的意思是吗?也就是只有拿到相应的 hash 算法才能成功篡改咯?
Adia
2016-12-10 17:14:18 +08:00
@v9ox 书名是《云计算 概念、技术与架构》,看书皮一副很经典的样子...
wy315700
2016-12-10 17:14:22 +08:00
@Adia 需要得到密钥才可以验证和生成对应的 hmac 摘要,可以避免你说的篡改以后生成一个摘要的情况
v9ox
2016-12-10 17:15:50 +08:00
@Adia 一看到云计算、大数据 这种书就烦……
Adia
2016-12-10 17:19:38 +08:00
@v9ox 菜鸟想了解一下概念。请问有什么好的博客或者资料之类推荐吗?(英文不是很好
helloccav
2016-12-10 17:39:03 +08:00
消息摘要 = f(原始消息, key)
你没有 key ,你生成的消息摘要就不可能正确
crab
2016-12-10 19:10:28 +08:00
你生成新的消息摘要对服务器来说是解不开的。除非你知道服务器是怎么验证的(有密钥,有随机数算出)。但显然你不可能通过现在的消息摘要算出来啊。
elicec
2016-12-10 23:10:25 +08:00
有个东西叫签名,对哈希的非对称加密就是签名。为什么要对哈希加而不是直接加密内容呢?因为非对称很耗时的。哈希的长度一般很短。那么问题又来了,私钥加密哈希,公钥解密,那万一有人偷偷的换了你的公钥呢,用自己的公钥替代,然后用自己的私钥伪造?
还有个东西就数字证书。就是对公钥的公证。用权威的公钥和私钥对你的公钥就行认证~
ryd994
2016-12-11 00:53:41 +08:00
单纯放个 hash 不能叫 signature ,只能叫 checksum
可防传输错误,不防蓄意攻击(智能攻击者)
但是做 checksum 的话没必要用 hmac , crc 就够了

要防蓄意篡改,你需要签名
签名可以通过预共享的密钥或者不对称算法

加盐没用,因为盐也是明文,可以被替换
加盐用在密码储存,避免利用字典对泄露的加密过的密码就行碰撞(破解)


这书一看就很不经典, hasing ?少了 h 吧
而且 hash 和 hash 区别多了去了
快速 hash 用于 clustering 等,讲求的是快
hmac 用于签名等,将求安全,其次尽量快
pbkdf 用于密码储存,讲求不可逆同时尽量慢

我跟你讲哈,要买经典书,特别是网络和加密类的,认准两个人就行: Alice 和 Bob (滑稽
9hills
2016-12-11 09:47:08 +08:00
一看就是国人写的书,简直误人子弟……


技术书籍,远离国人,方是正道
Adia
2016-12-13 21:54:33 +08:00
@9hills 英国人写的,国人翻的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/326686

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX