服务端与客户端加密解密思路
服务端与客户端加密解密思路
- 我的参考
- 我的理解
我的参考
- 源码编码
- 文档思路
我的理解
- AES
- 对称加密,即加密解密使用共同的key
- AES是DES的升级版
- RSA
- 非对称加密,即加密解密使用一对不同的key,分为公钥和秘钥
- 公钥加密,私钥解密;私钥加密,公钥解密
之前在公司遇到UC中心的token信息,而token信息里面带有用户数据,而我这边PHP要做解密,要做解密必须了解加密方式
注:我们公司主要是通过token实现单点登录,各自应用根据token判断用户是否已经登录
token的生成规则
加密方式
(明文+AES) 连接符 (AES+RSA)
解密方式
- 切割连接符,得到
(明文+AES) (AES+RSA)
(AES+RSA)
,使用公钥或者私钥,解密RSA,得到AES秘钥(明文+AES)
,通过上一步得到的AES秘钥解密,得到明文
- 切割连接符,得到
上述,只有RSA是固定不变的,但是AES是可变,根据不同的客户端使用不同的AES,这样可以做到只有拥有自己的AES才能解密明文
这是一种加密思路,客户端只能唯一性加密解密,主要应用场景在于服务端与客户端(app)的通信
###总结:
最后个人理解,目前基本都采用OAUTH2授权方式,采用https+token, 虽然需要通过二次请求,但是可以解决后续所有的请求
基本来说,也没有必要把明文信息放入token里面,像这种可逆转得到明文信息的方式,基本来说性能是一个问题,加密解密计算耗时,但对于走http协议来说,不失为一个好办法
@author 詹巨章 zhanjuzhang@gmail.com
@date 2015-7-20 10:23:47
转载于:https://my.oschina.net/juzhang/blog/482872
服务端与客户端加密解密思路相关推荐
- java大话西游单机版,【大话西游】手工架设服务端+双客户端+加密解密全套工具...
[大话西游]手工架设服务端+双客户端+加密解密全套工具_站长网(Downzz.com) 安装说明: 服务器系统 Windows Server 2008 R2 1.首先第一步把需要的运行工具以及所需工具 ...
- 服务端和客户端之文件加密传输
1.前言 1.1 why? 闲来无事,自己研究了一下服务端与客户端之间的文件传输,主要是服务端创建套接字开启监听并等待客户端的连接(TCP),在TCP协议上,为了安全我使用了TLS1.2进行加密通信( ...
- 如何设计云存储服务端数据存储加密机制
云存储是一种新型的网络存储形式.随着云存储的广泛使用,云存储中的数据安全问题,如数据泄漏.数据篡改,如何设计云存储服务端数据存储加密机制也成了用户广泛关注的问题.云存储可以分为访问层.应用接口层.基础 ...
- 服务端和客户端的cookie传递
文章目录 一.现象 二.过程 三.定义 cookie的结构 cookie的分类 一.客户端 二. 服务端 跨域问题 踩过的一些坑 总结 一.现象 CSDN的登录界面下会有"两周内不再登录&q ...
- 使用HTML5的WebSocket实现服务端和客户端数据通信(有演示和源码)
WebSocket协议是基于TCP的一种新的网络协议.WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术.依靠这种技术可以实现客户端和服务器端的长连接,双向实时通信. ...
- win2016开启ntp_WindowsServer2016NTP服务端和客户端配置【NTP时间同步服务器】
目标:A.B两台Windows Server 2016系统的服务器.B要做为NTP服务器使用,而只有A可以连到互联网.所以先将A作为NTP服务端,再将B作为既是服务端又是客户端.其它设备同B服务器同步 ...
- 多线程+SOCKET编程实现qq群聊的服务端和客户端
多线程+SOCKET编程实现qq群聊的服务端和客户端 标签(空格分隔): 多线程 网络编程 线程同步 一.设计思路 1.服务端 每来一个客户端连接,服务端起一个线程维护: 将收到的消息转发给所有的客户 ...
- wss协议 c 服务器,利用LIBWEBSOCKETS写WS、WSS服务端和客户端
libwebsockets是一款轻量级用来开发服务器和客户端的C库.按照官方(https://libwebsockets.org/)给出的介绍来看,它不仅支持ws,wss还同时支持http与https ...
- 使用WebSocket实现服务端和客户端的通信
开发中经常会有这样的使用场景.如某个用户在一个数据上做了xx操作, 与该数据相关的用户在线上的话,需要实时接收到一条信息. 这种可以使用WebSocket来实现. 另外,对于消息,可以定义一个类进行固 ...
最新文章
- LeetCode 175. Combine Two Tables--Database--数据库题目
- asp.net添加电子地图
- 怎么把series变为datamate_如何把时间序列问题转化为监督学习问题?通俗易懂的 Python 教程...
- Jenkins 设置镜像_Windows Docker Agent 镜像可以常规使用了
- 主程序与子程序不在同一程序模块中_分享:宏程序和子程序的应用
- 蚂蚁动态卡片,让App首页实现敏捷更新
- apt-get卸载命令
- PIC16F877矩阵键盘的识别
- 汇编语言(十六)之三数值求和
- 21世纪的设计模式:抽象工厂模式
- 算法高级(9)-线程池的实现方式
- python爬取b站搜索结果播放地址_如何利用Python快速爬取B站全站视频信息
- java.lang.IllegalArgumentException: node to traverse cannot be null! HQL语法问题
- Mysql 驱动包mysql-connector-java-8.0.25.jar下载
- android手机usb设置在哪里,手机usb调试在哪,教您安卓手机怎么打开USB调试
- 监督学习、无监督学习、强化学习概念
- 推荐收藏|9个国外知名免费高清图片素材网站
- 微星主板前置音频接口的连接说明
- 凯翔:可以同时替代Nimble和Nutanix的存储
- php-fpm 多核,linux 多核CPU性能调优
热门文章
- php日历天气预报下载安装手机桌面_日历天气预报下载安装-日历天气预报 安卓版v1.2-PC6安卓网...
- 实现一个Android锁屏App的难点总结 1
- 苹果发通谍拒绝“热更新”,中国程序猿“最受伤”
- CMMI 3级精简并行过程综述
- 使用RGB值显示颜色
- 【Python常微分方程】
- 使用计算机进行飞机设计属于,利用计算机对飞机、汽车、机械、服装等进行设计、绘图属于()。...
- 欢迎访问我的个人博客:www.zou8944.com
- C3P0:C3P0PooledConnectionPoolManager
- mysql guanwnag_Error while deserializing binlog event at offset