1:密码文件/etc/shadow
cat /etc/shadow 下图红色画线部分为加密后的密码
2:加密方式
对称加密:加密和解密使用同一个密钥;
非对称加密:加密和解密使用一对密钥;公钥-公开;私钥-保密;
CA:数字证书颁发机构
PKI:公钥基础设施
单向加密:提取数据的指纹,唯一特征码。1:定长输出;2:不可逆;3:雪崩效应-任何微小的改变,将导致整个加密结果完全不一样
Linux密码常用的加密算法与密文位数:
$1:MD5 ,(22位)
$2: Blowfish, 只在有一部分linux分支中使用的加密方法
$5: SHA-256 (43位)
$6: SHA-512 (86位)
数字签名:用私钥对数据进行特征码提取,称为签名;
3:Linux密码验证过程
用户输入账号和密码,Linux拿你输入的账号得到salt(为了解决同样的密码生成不同的密码加密结果,混入salt来区分),然后用salt+你输入的密码进行加密算法运算,得到的结果与系统里保存的是否一致,如果一致,则验证通过。
例如:如下图,两个用户分别为craft和user1,我设置了同样的密码,但是系统里加的salt不一样(标记为2的8位字符为salt),密码加密后的结果如下图标记为3的部分,完全不一样。
用户名:$加密算法:$salt :$(salt+真实密码)加密后得到的结果
craft:$6$8o7IOhbY$km7DFD2.sotnFizBmv3./tjFrCj2CmmLuXbnX8QQ7BVGwJqf0Q6DPI37z82vms3dbG06t3ZR13rM1rrSUIMv7
本文出自 “催花雨” 博客,请务必保留此出处http://chenwen.blog.51cto.com/771416/1752599
原文地址:http://chenwen.blog.51cto.com/771416/1752599