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开发中常有一些操作需要有状态.比如想要访问一些私人访问权限的文章,或者这种操作需要明确当前用户身份. 显然,最简单的方案就是每次都发送账户和密码,但是这样 ...
随机推荐
- 寒假day15
今天完成了毕设的人才动态模块,同时刷了计算机网络的相关面试题
- UIWindow statusBar消失
1.新建UIWindow 程序崩溃 报无根控制器错误 Xcode7环境下,新建UIWindow需添加rootViewController 2.新建UIWindow后 statusBar消失 Info. ...
- Mybatix实现in查询(五)
在这一节,我们要向大家介绍一下在Mybatis中想要实现in查询,Mapper文件应该怎么配置. 1)在com.mybatis.dao.PartDao中增加接口函数 public List<Pa ...
- C语言程序设计|05
问题 回答 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 https://edu.cnblogs.com/campus/zswxy/CST2019-4/homework/9772 我在 ...
- Java连载71-二分查找和Arrays工具类
一.二分法查找 1.二分法查找是建立在已经排序的基础之上的 2.程序分析是从下到大排序. 3.这个数组中没有重复的元素. package com.bjpowernode.java_learning ...
- oi笔记——抽象的深度优先搜索
oi笔记--抽象的深度优先搜索 例题: \(N个数中选K个数,选出的和要为sum\) 例题分析: 对于每个点,我们可以按"选"和"不选"进行搜索,如图: 或者0 ...
- SDWebImage缓存图片和读取图片
NSString *urlStr: NSUrl *url = [NSURL URLWithString:urlStr]; //缓存图片 SDWebImageManager *manager = [SD ...
- 04 Spring:01.Spring框架简介&&02.程序间耦合&&03.Spring的 IOC 和 DI&&08.面向切面编程 AOP&&10.Spring中事务控制
spring共四天 第一天:spring框架的概述以及spring中基于XML的IOC配置 第二天:spring中基于注解的IOC和ioc的案例 第三天:spring中的aop和基于XML以及注解的A ...
- PTA 自测-4 Have Fun with Numbers
#include<iostream> #include<string> #include<cstring> #include<vector> using ...
- ZJNU 2206 - 染色
开纵横两个结构体数组,记录连续涂了一整行或者一整列的情况 再开一个map,记录涂点 #include<iostream> #include<algorithm> #includ ...