首页 > 代码库 > web加密的基本概念

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

 

web加密的基本概念