Android下的鉴权实现方案
软件原理
不赘述,参考: 软件License认证方案的设计思路
License文件离线鉴权
- 机械指纹,不可逆的加密算法,如MD5
- 功能鉴权,可逆的不对称加密算法,服务端公钥加密,app端私钥解密,如RSA
| 参数 | 作用 | 说明 | 
| 包名 | 身份认证 | app package name | 
| 秘钥Key(可选) | 身份认证 | sdk方颁发给app唯一id,由注册者信息和app包名通过一定规则生成,需开发者妥善保管 | 
| 秘钥Secret(可选) | 身份认证 | sdk方颁发给app的秘钥,由注册者信息和app包名通过一定规则生成,需开发者妥善保管 | 
| 设备唯一Id或序列号 (机器指纹) | 身份认证 | 硬件设备的唯一Id,由软硬件唯一标识等通过一定规则生成: 硬件信息(Cpu,Flash Serial,Mac地址...) 系统信息(Android Id, Build number...) | 
| 有效期 | 功能鉴权 | sdk使用有效截止日期或使用周期 | 
| 功能使能 | 功能鉴权 | license可以使用sdk哪些功能 | 
| License version | 其它 | 鉴权版本信息 | 
| 扩展 | 其它 | 扩展功能 | 
在线网络鉴权
- 用户名、密码直接在线鉴权
- 后台根据用户名,密码等信息生成key和secret秘钥信息,配置到app中进行鉴权
| 参数 | 说明 | 
| 包名 | app package name | 
| 秘钥key | sdk方颁发给app唯一id,由注册者信息和app包名通过一定规则生成,需开发者妥善保管 | 
| 秘钥secret | sdk方颁发给app的秘钥,由注册者信息和app包名通过一定规则生成,需开发者妥善保管 | 
| Version | 鉴权版本信息 | 
Android下的鉴权实现方案的更多相关文章
- WebSocket 的鉴权授权方案
		引子 WebSocket 是个好东西,为我们提供了便捷且实时的通讯能力.然而,对于 WebSocket 客户端的鉴权,协议的 RFC 是这么说的: This protocol doesn’t pres ... 
- websocket之四:WebSocket 的鉴权授权方案
		引子 WebSocket 是个好东西,为我们提供了便捷且实时的通讯能力.然而,对于 WebSocket 客户端的鉴权,协议的 RFC 是这么说的: This protocol doesn’t pres ... 
- 高德开发 android 出现 key 鉴权失败
		环境windows + android studio 原因: 曾经更改过key.store 解决办法: 首先运行cmd移动到keystore的目录下keytool -list -keystore 文件 ... 
- Session, Token, OAuth 鉴权那些事儿
		鉴权那些事 整体思路 无论什么样的服务, Web 服务总是不能绕开鉴权这个话题的, 通过有效的鉴权手段来保护网站数据, 来为特定用户提供服务. 整体来说, 有三种方式: Session-Cookie ... 
- 认证鉴权与API权限控制在微服务架构中的设计与实现(四)
		引言: 本文系<认证鉴权与API权限控制在微服务架构中的设计与实现>系列的完结篇,前面三篇已经将认证鉴权与API权限控制的流程和主要细节讲解完.本文比较长,对这个系列进行收尾,主要内容包括 ... 
- 无线端安全登录与鉴权一之Kerberos
		无线端登录与鉴权是安全登录以及保证用户数据安全的第一步,也是最重要的一步.之前做过一个安全登录与鉴权的方案,借这个机会,系统的思考一下,与大家交流交流 先介绍一下TX系统使用的Kerberos方案,参 ... 
- mongodb 3.4 分片 一主 一副 一仲 鉴权集群部署.
		Docker方式部署 为了避免过分冗余,并且在主节点挂了,还能顺利自动提升,所以加入仲裁节点 mongodb版本: 环境:一台虚拟机 三个configsvr 副本: 端口为 27020,27021,2 ... 
- android 高德地图出现【定位失败key鉴权失败】
		如题:android 高德地图出现[定位失败key鉴权失败] 原因:使用的是debug模式下的SHA1,发布的版本正确获取SHA1的方式见: 方法二使用 keytool(jdk自带工具),按照如下步骤 ... 
- http无状态和鉴权解决四种方案
		http协议本身是无状态的,但是在实际的web开发中常有一些操作需要有状态.比如想要访问一些私人访问权限的文章,或者这种操作需要明确当前用户身份. 显然,最简单的方案就是每次都发送账户和密码,但是这样 ... 
随机推荐
- 吴裕雄--天生自然 JAVASCRIPT开发学习:Array(数组) 对象
			<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ... 
- python3编码问题个人理解
			#coding=utf-8 a = "你" # 这个字符串是Unicode和 a = u“你”等价b = b'\\u4f60' #这个表示b是字节串(如果需要显示b的值则 prin ... 
- ansible删除目录下所有内容
			使用ansible的同学都知道,ansible只支持新增删除具体的某个文件夹或者文件,如下所示: 1. 创建目录,删除整个目录 - name: Create a directory if it doe ... 
- 解决Maven项目报错Perhaps you are running on a JRE rather than a JDK?
			问题描述: 在创建SpringMVC项目运行构建项目的时候,发现构建失败.报错信息为Maven-No compiler is provided in this environment. Perhaps ... 
- Python说文解字_杂谈04
			1. 鸭子类型: 当你看到一只鸟走来像鸭子,游泳起来像鸭子,叫起来也像鸭子,他么他就可以叫做鸭子.任何可迭代的对象.一样的方法,可以用可迭代的话,就可以迭代的组合打印.__getitem__可以塞到任 ... 
- django2:路由path语法
			目录 1.问题引入 2.使用示例 3.path转化器 4.自定义转化器 4.1 定义 4.2 注册 5.使用正则表达式 6.Import变动 7.代码改写 8.总结 9月23,Django 发布了2. ... 
- httpclient连接池在ES Restful API请求中的应用
			package com.wm.utils; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http ... 
- vue路由简单实用
			<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ... 
- MBProgressHUD覆盖键盘
			发送消息的时候,需要用MBProgressHUD来覆盖窗口等待发送成功,但是无论如何键盘都覆盖不上. 于是各种研究,添加到view,添加到window,都无果..想破了脑子,总觉得加到window都覆 ... 
- LeetCode——714. 买卖股票的最佳时机含手续费.
			给定一个整数数组 prices,其中第 i 个元素代表了第 i 天的股票价格 :非负整数 fee 代表了交易股票的手续费用. 你可以无限次地完成交易,但是你每次交易都需要付手续费.如果你已经购买了一个 ... 
