客户端加密机制

原创 2016年08月31日 09:28:26

在做开发的过程中,数据安全一直是重中之重。不管你是做在线商城、网络支付还是商品推送,客户和金额等敏感信息的安全问题一定要考虑到。

其实在客户端主要做的是数据的可见性,主要的安全问题还是放在服务端,毕竟所有的数据都是在服务端,服务端收到数据还会进行校验,还要看是否是重放攻击等。

而客户端要做的 无非是 防止反编译和传输数据加密。防止反编译最常用的就是代码混淆,当然还有好几种其他的方式可以一同使用(例如:结构混淆)。

传输机密这个做的就比较多了,一般的都会做传输数据加密。有的公司做的app不存在敏感信息,有时候不用加密,只用post get 方式也是可以的。我之前的加密是用的DES 和RSA 加密方式。先生成一个DESKey 然后 用RSA公钥加密DESKey,然后用DESKey 加密数据,最后将加密后的数据和加密后的DESKey一同传输到后台,后台先用RSA私钥解密DESKey 然后用解密后的DESKey解密数据。这是整个加解密过程后来,因为后台解密速度达不到要求(后台解密压力太大,因为RSA解密太耗时。客户端可能没什么感觉,但是服务端在相同的时间可能并发很多解密,所以对服务端压力很大),所以进行了改进。先和服务端交换DESKey(先将加密后的DESKey传输到后台),返回交换成功后,在将用DESKey加密的数据传输到后台。这样做服务端可以用传输间隙进行解密,适当的缓解服务端压力。
再后来,我们做的换了加密方式,使用加密机。加密方式使用AES 和 RSA 加密,先生成16位的AESKey,然后用生成的AESKey加密数据,RSA公钥加密AESKey,然后算出加密后AESKey长度,将长度做成6位的16进值数,加密后的数据同理,最后拼接成一串字符串,将字符串传输到后台。
AES和DES加密都是对称加密,RSA是非对称加密,至于AES和DES的区别,可以自己去查一下。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android:客户端和服务器之间传输数据加密

Android客户端与服务器进行数据传输时,一般会涉及到两类数据的加密情况,一类是只有创建者才能知道的数据,比如密码;另一类是其他比较重要的,但是可以逆向解密的数据。        第一类:密码类的...

客户端/服务器 http加密方案----对称与非对称加密

加密技术一般分为两类 1.对称加密,即加密与解密用的是同一把秘钥,常用的对称加密技术有DES,3DES,AES. 2.非对称加密,加密与解密用的是不同的秘钥,常用的非对称加密技术有RSA.下面举例...

一种客户端即时通信数据的加密和解密方法

一种客户端即时通信数据的加密和解密方法  摘要 本发明适用于即时通信领域,提供了一种客户端即时通信数据的加密和解密方法,所述方法包括以下步骤:A.客户端加密本地保存的即时通信数据,并将数据...

security.js RSA 加密与java客户端解密

在通常的http协议的网站中直接提交数据可以通过信息抓取从而暴露提交者所提交的信息,特别是注册时的密码和登录时的密码容易被泄露。那么怎么防止这种现象呢?很多人会想到加密技术,对没错,本文所讲的就是使用...

手机客户端数据传输加密设计

登陆的时候进行一次双向非对称协议1.客户端先发起非对称请求2.服务端返回一次非对称响应3.在返回数据中用请求密钥及响应密钥返回在业务数据的加密中就可以使用对称密钥加密4.在业务数据请求是用请求密钥对称...

Java使用ExecutorService线程池通过Socket传输AES加密,并在客户端用ServerSocket解密

查看的相关博文:关于socket传输的http://www.blogjava.net/sterning/archive/2007/10/13/152508.html关于AES加密的http://www...
  • del1214
  • del1214
  • 2011年07月28日 17:23
  • 1307

Windows Phone开发之客户端本地简单填充加密解密

using System; using System.Net; using System.Windows; using System.Windows.Controls; using System.Wi...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:客户端加密机制
举报原因:
原因补充:

(最多只允许输入30个字)