**17.app后端如何保证通讯安全--aes对称加密

简介: 在上文《16.app后端如何保证通讯安全--url签名》提到,url签名有两个缺点,这两个缺点,如果使用对称加密方法的话,则完全可以避免这两个缺点。在本文中,会介绍对称加密的具体原理,和详细的方案,使app通讯更加安全。

在上文《16.app后端如何保证通讯安全--url签名》提到,url签名有两个缺点,这两个缺点,如果使用对称加密方法的话,则完全可以避免这两个缺点。在本文中,会介绍对称加密的具体原理,和详细的方案,使app通讯更加安全。


1.对称加密的原理



  采用单钥密码系统的加密方法,同一个密钥可以同时用作信息的加密和解密,这种加密方法称为对称加密,也称为单密钥加密。


  其实很简单,假设有原始数据"1000", 把1000加5就得到密文"1005",得到密文"1005"后减5就得到原始数据"1000"。把原始数据加5就是加密算法,把密文减5就是解密算法,密钥就是5。


  本文所用的是AES这种通用的对称加密算法。


2. api请求中AES算法的应用



  (1)curl简介


  在下面的例子中,会使用curl工具,先简单介绍一下。


  curl是利用URL语法在命令行方式下工作的开源文件传输工具。


  用到的参数:


  -X: 指定什么命令,例如post,get等。


  -H: 指定http header。


  -d: 制定http body的内容


  (2)怎么保证token在初次返回时的安全


  用下面的api返回加密的token


  curl -X POST \


  -H "Token-Param:<时间戳>,<sdkversion>"\


  -d  ‘Base64Encode(AES(token, secretKey))’


  http://test.com/api/login


  secretKey就是密钥,使用http header中的Token-Param中的16位长度。


  服务端返回时加密token的方法是用AES加密,密钥是secretKey。


  客户端解密token的方法是用AES解密,密钥是secretKey。


  (3) api请求中的加密


  假设更新用户数据的api调用如下


  curl -X POST \


  -H "Token-Param:<时间戳>,<sdkversion>"\


  -H  ‘Token:Base64Encode(AES(token, secretKey))’


  -d  ‘Base64Encode(AES(date, token))’


  http://test.com/api/user/update


  secretKey使用http header中的Token-Param中的16位长度。


  在上面的例子中,data是实际要post的数据。


  在这个过程中,token和post的数据都得到了加密保护。


  客户端发送时加密的过程


  (1)取http header中的Token-Param中的16位长度作为密钥,用AES加密token。


  (2)用token作为密钥,用AES加密data。


  服务端接收到这个api请求的解密过程:


  (1)取http header中的Token-Param中的16位长度作为密钥,用AES解密, 得到token。


  (2)用token作为密钥,用AES解密http body的内容,得到原文。


3.对称加密方法的总结



  把token返回的时候,可以做个约定,在返回的时候截取某个字符串的一部分作为密钥,这个秘钥只用一次,就是用来解密token的,以后就只是用token来做秘钥了。

 

http://blog.csdn.net/newjueqi/article/details/44177063

如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/
目录
相关文章
|
22天前
|
Linux 数据安全/隐私保护 Windows
aes加密在linux下会生成随机key的解决办法
aes加密在linux下会生成随机key的解决办法
12 2
|
1月前
|
PHP 数据安全/隐私保护
在PHP中使用AES进行加密和解密
在PHP中使用AES进行加密和解密
|
2月前
|
安全 搜索推荐 前端开发
揭秘 HTTPS 加密协议:保护你的网上安全之道
揭秘 HTTPS 加密协议:保护你的网上安全之道
126 0
|
2月前
|
存储 算法 安全
【加密算法】AES对称加密算法简介
【加密算法】AES对称加密算法简介
|
7天前
|
SQL 安全 网络安全
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
IDEA DataGrip连接sqlserver 提示驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接的解决方法
15 0
|
1月前
|
监控 安全 数据管理
现代化后端开发:微服务架构下的数据管理与安全挑战
随着信息技术的不断发展,现代化后端开发正日益注重微服务架构下的数据管理与安全挑战。本文将探讨微服务架构在后端开发中的应用,重点关注数据管理和安全方面的挑战,并提供相应的解决方案。
|
1月前
|
机器学习/深度学习 安全 算法
安全多方计算之三:同态加密
安全多方计算之三:同态加密
371 42
|
1月前
uni-app 63egg.js后端用户上线和下线深度剖析
uni-app 63egg.js后端用户上线和下线深度剖析
16 1
|
1月前
|
API
uni-app 25后端api开发和前后端交互(51-60)
uni-app 25后端api开发和前后端交互(51-60)
28 2
uni-app 25后端api开发和前后端交互(51-60)
|
1月前
|
中间件 API 数据库
uni-app 25后端api开发和前后端交互(1-50)
uni-app 25后端api开发和前后端交互(1-50)
100 0
uni-app 25后端api开发和前后端交互(1-50)