jinliming2
2019 年 7 月 7 日
有人把 base64 和 凯撒密码 扯在一起,看起来差不多,但重要区别在于:
凯撒密码的“密码”,也就是字母偏移是保密的(不讨论暴力破解的问题),不知道偏移就无法解密。
而 base64 的码表是作为标准固定的(当然也有几种变体,但也是有固定标准的),也就是通过 base64 一定得到相同结果。
这就是 base64 与凯撒密码的区别,一个得到的结果是固定的,一个可以通过不同密码得到不同结果。所以一个只是编码,另一个才是加密方式。
如果你把 base64 的码表做了修改,那么的确,只有拿到你修改版本的码表才能知道原始内容了,这时就已经不符合 base64 标准了, [它就不是 base64 了] 。你就可以用不同的码表作为密码,把这种转换当成凯撒密码来用。
还有 MD5 的问题:编码存在解码的过程,加密也存在解密的过程,而 MD5 是不可逆的(不考虑暴力列表的方法,并且同样的 MD5 理论上也对应无数种原数据),所以它即不属于编码算法,也不属于加密算法,只能叫做摘要算法。