云杰通信助您了解行业,全方位掌握国际互联网最新资讯
在客户端与服务器进行交互时,必然涉及到交互的报文(或者通俗的讲,请求数据与返回数据),如果不希望报文进行明文传输,则需要进行报文的加密与解密。所以加密的主要作用就是避免明文传输,就算被截获报文,截获方也不知道报文的具体内容。
加密分为对称加密和非对称加密,对称加密效率高,但是解决不了秘钥的传输问题;非对称加密可以解决这个问题,但效率不高。(其中https是综合了对称加密和非对称加密算法的http协议。)
1.对称加密
采用单钥密的加密方法,同一个密钥可以同时用来加密和解密,这种加密方法称为对称加密,也称为单密钥加密。即约定一个秘钥,客户端使用这个秘钥对传输参数进行加密并提交至服务端,服务端使用同样的秘钥进行解密;
常用的对称加密算法:
1) DES(Data Encryption Standard):数据加密标准,速度较快,适用于加密大量数据的场合;
2) 3DES(Triple DES):是基于DES,对一块数据用三个不同的密钥进行三次加密,强度更高;
3) AES(Advanced Encryption Standard):高级加密标准,是下一代的加密算法标准,速度快,安全级别高,支持128、192、256、512位密钥的加密;
2.单向散列加密
单向加密又称为不可逆加密算法,其密钥是由加密散列函数生成的。单向散列函数一般用于产生消息摘要,密钥加密等
常用的单向散列加密算法:
1) MD5(Message Digest Algorithm 5):是RSA数据安全公司开发的一种单向散列算法,非可逆,相同的明文产生相同的密文;
2) SHA(Secure Hash Algorithm):可以对任意长度的数据运算生成一个160位的数值。其变种由SHA192,SHA256,SHA384等;
3) CRC-32,主要用于提供校验功能;
3.非对称加密
非对称加密即公钥加密,只有私钥能解密。私钥加密,只有公钥能解密。A首先生成一对公钥和私钥,然后将公钥公开给别人加密,别人使用公钥加密报文发送给A,A使用私钥解密。反之相同。(发送给某人,用某人的公钥加密。证明自己的身份,用自己的私钥加密)
非对称加密很少用来加密数据,速度太慢,通常用来实现身份验证,发送方用对方的公钥加密,可以保证数据的机密性(公钥加密);发送方用自己的私钥加密,可以实现身份验证(数字签名);
文章标题:《为什么需要加密解密?什么是对称加密/单向散列加密/非对称加密?》
作 者:云杰小编。本文部分资料来源于网络,转载目的在于传递更多信息及学习参考:https://www.gdyunjie.cn/showinfo-114-2248-0.html