问一下签名和加密

来源:5-4 Cookies安全策略

Mi_Rai

2020-05-05

上一节讲的签名也是用 crypto 进行处理,也需要一个 key,调用的是 createHmac 方法,最后出来的也是一串看不懂的字符串。
这一节讲的加密,也是用 crypto 做的处理,调的 createCipher 方法,两者只是调的函数不一样。
所以我在想上一节讲的签名是不是也是加密的一种,只是加密的方法不同而已?
还是说签名(createHmac)是不可逆的?加密(createCipher)是可逆的?

写回答

1回答

TooooBug

2020-05-31

签名本质上是做hash,hash也叫摘要算法,即反映原文特征的算法。(在createHmac的时候也需要指定摘要算法。)

摘要也就意味着不包含原文的所有信息,事实上无论你对多长的内容做签名,最后得到的签名串都是一样长的。所以签名是无法还原出原文的。(否则我们就有了一个无敌的压缩算法,可以把任意数据压缩到固定长度。)

加密则一般密文长度和明文正相关,明文越长密文越长,这样才能根据密文还原出明文。

所以你说的可逆,本质是解密的意思。你的理解是对的。

0
0

腾讯大牛亲授 Web前后端漏洞分析与防御技巧

提高每一行代码安全系数,突破前后端开发Web安全弱项

1186 学习 · 112 问题

查看课程