一些小伙伴吐槽,去面试的时候经常听到面试官问这样的问题,“对称加密”、“非对称加密”、“MD5加密”,那么MD5到底属于哪种加密算法?遇到这样的问题,一定要小心,这是面试官给你挖的坑呢,可别傻傻地往坑里面跳。
注意了!MD5加密纯属口嗨,MD5是摘要算法,不是加密算法!切记。
为了让大家能够清楚地知道加密算法和摘要算法的定义和场景,给大家放一个图,是不是一目了然了?
加密算法的目的在于使别人无法成功查看加密的数据,并且在需要的时候还可以对数据进行解密来重新查看数据。
MD5算法是一种哈希算法,这一算法是不可逆的。也就是说,通过哈希算法得到的数据,无法经过任何算法还原回去。 所以既然不能将数据还原,也就不能称之为解密;既然不能解密,那么哈希的过程自然也就不能称作是加密了。
摘要算法
摘要算法,又称哈希算法、散列算法。通过一个函数,将任意长度的内容转换为一个固定长度的数据串。
摘要算法之所以能指出数据是否被篡改,就是因为摘要函数是一个单向函数,计算很容易,但通过摘要(digest) 反推data却非常困难,而且,对