存储在linux中的密码必须是经过加密后的密码,linux通过加密算法来产生加密后的密码数据。目前linux中主要有两种加密算法:

   DES:这是传统的unix使用的加密算法,只支持八个字符内的密码数据,如果密码长度超过八个字符,则会只匹配前八个字符,后面的字符可以忽略,该算法相对安全性较差。

   MD5:常见的linux中一般都使用该算法,支持255个字符的的密码数据。相对来说安全性较高。

   DES和MD5都是单向式哈希算法,哈希算法是具有下面所有条件的数学算法:

   输入长度可以不固定,但是输出长度一定是固定的;

   输入不变,输出不变:输入改变,输出改变;

   无法由输出推算出输入的值。

 

    现在的MD5算法中还有一种是产生一种固定长度的随机数,把随机数连同原始密码一同交给单向哈希算法,计算出密码与随机数的哈希值。