存储在linux中的密码必须是经过加密后的密码,linux通过加密算法来产生加密后的密码数据。目前linux中主要有两种加密算法:
DES:这是传统的unix使用的加密算法,只支持八个字符内的密码数据,如果密码长度超过八个字符,则会只匹配前八个字符,后面的字符可以忽略,该算法相对
安全性较差。
MD5:常见的linux中一般都使用该算法,支持255个字符的的密码数据。相对来说
安全性较高。
DES和MD5都是单向式哈希算法,哈希算法是具有下面所有条件的数学算法:
输入长度可以不固定,但是输出长度一定是固定的;
输入不变,输出不变:输入改变,输出改变;
无法由输出推算出输入的值。
现在的MD5算法中还有一种是产生一种固定长度的随机数,把随机数连同原始密码一同交给单向哈希算法,计算出密码与随机数的哈希值。