app客户端与服务器数据交互时—数据加密

总结

(1)、对称加密加密与解密使用的是同样的密钥,所以速度快,但由于需要将密钥在网络传输,所以安全性不高

(2)、非对称加密使用了一对密钥,公钥与私钥,所以安全性高,但加密与解密速度慢。

(3)、解决的办法是将对称加密的密钥使用非对称加密的公钥进行加密,然后发送出去,接收方使用私钥进行解密得到对称加密的密钥,然后双方可以使用对称加密来进行沟通。

 

 

虽然非对称加密很安全,但是和对称加密比起来,它非常的慢,所以我们还是要用对称加密来传送消息,但对称加密所使用的密钥我们可以通过非对称加

密的方式发送出去。为了解释这个过程,请看下面的例子:

 

(1)、APP客户端需要和服务器进行数据交互,它的APP首先生成了一个随机数作为对称密钥(比如AES加密的密钥)。

 

(2)、APP客户端向服务器请求公钥

 

(3)、服务器将公钥发送给APP客户端

 

(4)、APP客户端使用服务器的公钥将自己的对称密钥(比如AES加密的密钥)加密

 

(5)、APP客户端将加密后的对称密钥发送给服务器

 

(6)、服务器使用私钥解密得到APP客户端的对称密钥

 

(7)、APP客户端与服务器可以使用对称密钥来对沟通的内容进行加密与解密了

你可能感兴趣的:(Android开发)