网站加密算法

1、单向散列加密

单项散列加密是指通过对不同输入长度的信息进行散列计算,得到固定长度的输出,这个散列计算过程是单向的,即不能对固定长度的输出进行计算从而获得输入信息。

网站加密算法_第1张图片

利用单向散列加密的这个特性,可以进行密码加密保存,即用户注册时输入的密码不能直接保存到数据库,而是对密码进行单项散列加密,将密文存入数据库,用户登录时,进行密码验证,同样计算得到输入密码的密文,并和数据库中的密文比较,如果一致,则密码验证成功。

网站加密算法_第2张图片

这种保存在数据库中的是用户输入的密码的密文,而且不可逆的计算得到密码的明文,即使数据库被“拖库”,也不会泄露用户的密码信息。虽然不能通过算法将单向散列密文反算得到明文,但是由于人们设置密码有一定的模式,因此通过彩虹表(人们常用密码和对应的密文关系表)等手段可以进行猜测式破解。

为了加强单向散列计算的安全性,还会给散列算法加点盐(salt),salt相当于加密的密钥,增加破解的难度。

常见的单向散列算法有MD5、SHA等,单向散列算法还有一个特定就是输入任何微小的变化都会导致输出的完全不同。

2、对称加密

所谓对称加密是指加密和解密使用的密钥是同一个密钥(或者可以相互推算)。

对称加密通常用在信息需要安全交换或存储的场合,如Cookie加密、通信加密等。

网站加密算法_第3张图片

对称加密的优点是算法简单,系统开销小,适合对大量数据加密。缺点是加密解密使用同一个密钥,远程通信清苦啊下如何安全的交换密钥是个难题,如果密钥丢失,那么所有的加密信息也就没有密码可言了。

常用对称加密算法有DES算法,RC算法。

3、非对称加密

不同于对称加密,非对称加密和解密使用的密钥不是同一密钥,其中一个对外界公开,被称作公钥,另一个只有所欲者知道,称作私钥,用公钥加密的信息必须用私钥才能解开,反之,用私钥加密的信息只有用公钥才能解开。

非对称加密技术通常用在信息安全传输,数字签名等场合。

数字签名过程中,签名者用自己的私钥对信息进行加密,然后发送给对方,接收方用签名者的公钥对信息进行解密,获得原始明文信息,由于私钥只要签名者拥有,因此该信息是不可抵赖的,具有签名的性质。

实际应用中,常常会混合使用对称加密和非对称加密,先使用对非称加密技术对对称密钥进行安全传输,然后使用对称加密技术进行信息加密与交换,而有时,对同一个数据两次使用非对称加密,可同时实现信息安全与数据签名的目的。



你可能感兴趣的:(网站加密算法)