知识点
编码、哈希、对称加密以及非对称加密算法的区别
什么是编码算法?
简单地说,编码算法是对二进制数据的一个呈现方式,是为了能让人类更好识别枯燥的二进制数据,以及让计算机能理解人类抽象的文字而制定的一套二进制与字符之间的转换规则。(注:这里的编码特指数据编码,而非图片、音视频等编码算法。)
常见的编码有ASCII、Unicode、UTF8、URL编码、HTML编码及Base64等,这些都是以不同形式表示二进制数据的算法,比如Base64算法把3个字节共24bit分成长度为6bit的四段,并以“a-zA-Z0-9+/”共64个ASCII字符以及作为补全字符的“=”表示。
什么哈希算法?
哈希算法也称摘要算法,是指把可变长度的数据通过运算得到固定长度散列值的不可逆算法,只要原始数据稍微改动得到的散列值机会完全不同,因为这个特性,哈希算法通常应用于对数据的完整性校验以及密码验证。
常见的哈希算法有MD5、SHA1、SHA256、SHA512、NTLM等。
什么是加密?
加密算法是使用密码对可读的原始数据进行处理并得到不可读密文的算法,跟哈希算法不同的是,加密算法是完全可逆的,只要提供密码及密文就可以通过解密获得明文。
加密算法又分成对称加密算法及非对称加密算法,二者主要的区别在于如何使用密钥上,对称加密算法使用同一个密码进行加解密,常见的有DES、3DES、AES等,主要应用于体积较大的数据加密。
实战
案例:https://www.mytokencap.com/。
所需环境:谷歌浏览器