web加密的基本概念
1.需求
了解web加密的一些基础概念。
2.基本概念
a.对称加密方式
对称加密方式 加密和解密用同一个密钥
不足之处是,交易双方都使用同样钥匙,安全性得不到保证。此外,每对用户每次使用对称加密算法时,都需要使用其他人不知道的惟一钥匙,这会使得发收信双方所拥有的钥匙数量呈几何级数增长
b.非对称加密方式
非对称加密算法需要两个密钥:公开密钥(publickey)和私有密钥(privatekey)。公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密;如果用私有密钥对数据进行加密,那么只有用对应的公开密钥才能解密。
c.对密码的加密
对密码的加密一定要是单向加密,无法解密的。
php5.5之前用salt+hash加密。
php5.5之后可以用自带的password_hash
http://php.net/manual/zh/function.password-verify.php
https://segmentfault.com/a/1190000000646994
哈希算法,包括md5,sha1,只有加密,没有解密
d.盐值:
盐(Salt),在密码学中,是指通过在密码任意固定位置插入特定的字符串,让散列后的结果和使用原始密码的散列结果不相符,这种过程称之为“加盐”。
这样密码md5之后,就算被彩虹表解密,被解密之后获得的也只能是加盐后的密码。
加盐可以在特定位置,多个位置分别加,更难破解。
https://www.zhihu.com/question/36445665
e.数字签名
http://www.ruanyifeng.com/blog/2011/08/what_is_a_digital_signature.html
f,数字证书
例子有https,要想CA申请
http://jingyan.baidu.com/article/ff42efa9449a97c19f220250.html