App key和App Secret

App key简称API接口验证序号,是用于验证API接入合法性的。接入哪个网站的API接口,就需要这个网站允许才能够接入,如果简单比喻的话:可以理解成是登陆网站的用户名。

App Secret简称API接口密钥,是跟App Key配套使用的,可以简单理解成是密码。

App Key 和 App Secret 配合在一起,通过其他网站的协议要求,就可以接入API接口调用或使用API提供的各种功能和数据。

比如淘宝联盟的API接口,就是淘宝客网站开发的必要接入,淘客程序通过API接口直接对淘宝联盟的数据库调用近亿商品实时数据。做到了轻松维护,自动更新。

UUID

UUID是指在一台机器在同一时间中生成的数字在所有机器中都是唯一的。按照开放软件基金会(OSF)制定的标准计算,用到了以太网卡地址、纳秒级时间、芯片ID码和许多可能的数字
UUID由以下几部分的组合:
(1)当前日期和时间。
(2)时钟序列。
(3)全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。
标准的UUID格式为:xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx (8-4-4-4-12),以连字号分为五段形式的36个字符,示例:550e8400-e29b-41d4-a716-446655440000
Java标准类库中已经提供了UUID的API。

UUID.randomUUID() 

App key和App Secret 生成代码

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.Arrays;
import java.util.UUID;/*** * @Title: AppUtils* @Description: 随机产生唯一的app_key和app_secret* @date 2019/8/27 16:12*/
public class AppUtils {//生成 app_secret 密钥private final static String SERVER_NAME = "mazhq_abc123";private final static String[] chars = new String[]{"a", "b", "c", "d", "e", "f","g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s","t", "u", "v", "w", "x", "y", "z", "0", "1", "2", "3", "4", "5","6", "7", "8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I","J", "K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V","W", "X", "Y", "Z"};/*** @Description: <p>* 短8位UUID思想其实借鉴微博短域名的生成方式,但是其重复概率过高,而且每次生成4个,需要随即选取一个。* 本算法利用62个可打印字符,通过随机生成32位UUID,由于UUID都为十六进制,所以将UUID分成8组,每4个为一组,然后通过模62操作,结果作为索引取出字符,* 这样重复率大大降低。* 经测试,在生成一千万个数据也没有出现重复,完全满足大部分需求。* </p>* @date 2019/8/27 16:16*/public static String getAppId() {StringBuffer shortBuffer = new StringBuffer();String uuid = UUID.randomUUID().toString().replace("-", "");for (int i = 0; i < 8; i++) {String str = uuid.substring(i * 4, i * 4 + 4);int x = Integer.parseInt(str, 16);shortBuffer.append(chars[x % 0x3E]);}return shortBuffer.toString();}/*** <p>* 通过appId和内置关键词生成APP Secret* </P>* @date 2019/8/27 16:32*/public static String getAppSecret(String appId) {try {String[] array = new String[]{appId, SERVER_NAME};StringBuffer sb = new StringBuffer();// 字符串排序Arrays.sort(array);for (int i = 0; i < array.length; i++) {sb.append(array[i]);}String str = sb.toString();MessageDigest md = MessageDigest.getInstance("SHA-1");md.update(str.getBytes());byte[] digest = md.digest();StringBuffer hexstr = new StringBuffer();String shaHex = "";for (int i = 0; i < digest.length; i++) {shaHex = Integer.toHexString(digest[i] & 0xFF);if (shaHex.length() < 2) {hexstr.append(0);}hexstr.append(shaHex);}return hexstr.toString();} catch (NoSuchAlgorithmException e) {e.printStackTrace();throw new RuntimeException();}}public static void main(String[] args) {String appId = getAppId();String appSecret = getAppSecret(appId);System.out.println("appId: "+appId);System.out.println("appSecret: "+appSecret);}
}
————————————————
原文链接:https://blog.csdn.net/houxian1103/article/details/111662511
注:如有侵权请联系删除

云服务AppId或AppKey和AppSecret生成与使用相关推荐

  1. 云服务AppId或AppKey和AppSecret生成策略(对外接口使用)

    一.App key和App Secret App key简称API接口验证序号,是用于验证API接入合法性的.接入哪个网站的API接口,就需要这个网站允许才能够接入,如果简单比喻的话:可以理解成是登陆 ...

  2. java appkey_开放API平台都有的appid、appkey、appsecret分别是什么意思?

    前言 在日常开发中难免会遇到对接三方平台,比如文件的云存储.短信通道.认证等,在调用这些三方接口时往往需要进行先认证,认证完成之后才能够进行正常的业务处理. 在认证的过程中,往往会提供appid.ap ...

  3. 移动应用开发中AppID、AppKey、AppSecret到底是什么?

    AppID:应用的唯一标识 AppKey:公匙(相当于账号) AppSecret:私匙(相当于密码) token:令牌(过期失效) 使用方法 1. 向第三方服务器请求授权时,带上AppKey和AppS ...

  4. appid,appkey,appsecret区别

    app_id, app_key, app_secret , 对于平台来说, 需要给你的 你的开发者账号分配对应的权限: app_id 是用来标记你的开发者账号的, 是你的用户id, 这个id 在数据库 ...

  5. 开放api接口平台都会有appid、appkey、appsecret

    作者:肖旭 链接:https://www.zhihu.com/question/27814664/answer/140795440 来源:知乎 著作权归作者所有.商业转载请联系作者获得授权,非商业转载 ...

  6. AppID、AppKey、AppSecret

    AppID:应用的唯一标识 AppKey:公匙(相当于账号) AppSecret:私匙(相当于密码) token:令牌(过期失效) 使用方法 1. 向第三方服务器请求授权时,带上AppKey和AppS ...

  7. 何为AppID、 AppKey、AppSecret?

    简单理解为: AppID:app的唯一标识,数字字母组成 AppKey:等同于 用户名 AppSecret:等同于 密码

  8. 微信小程序云开发——实现 线上注册,登录的逻辑,并保存账号到云数据库( 一 ):新建云服务小程序项目

    要有遥不可及的梦想,也要有脚踏实地的本事.----------- Grapefruit.Banuit Gang(香柚帮) 首先要实现的是用微信开发者工具新建一个项目: 我们先要做的是注册一个小程序,用 ...

  9. docker 启动镜像_Docker学以致用,开源项目和云服务,是最好的学习资源

    1. Docker简介 2. Docker常用命令 3. Dockerfile镜像创建命令 4. Docker镜像自动构建 5. docker-compose.yml资源编排文件 6. Docker ...

最新文章

  1. Oracle中DUMP转储方法
  2. 不吹不擂,一文揭秘鸿蒙操作系统
  3. 如何看待 70% 的程序员,缺乏数据结构和算法知识?
  4. 不断进化的分支和需求管理
  5. java之解析DNS的SRV记录
  6. 论文学习11-Adversarial training for multi-context joint entity and relation extraction(实体关系买抽取模型,对抗学习
  7. NVIDIA向交通运输行业开源其自动驾驶汽车深度神经网络
  8. python普通类实现接口_python之面向对象(接口和抽象类)
  9. 给技术型创业者的几点建议
  10. 超级实用的浏览器插件
  11. Excel 透视表 - 人生第二个透视表
  12. 樊登《高能量姿势》听后感
  13. 单目标跟踪CVPR 2018 ECO+
  14. fiddler——抓苹果手机的包
  15. 北漂9年了,37岁的我跳槽进了国企,开启了一段新的人生旅程
  16. 精选腾讯出品的 16 款小程序
  17. 软件测试周刊(第71期):大悲时不发言,大怒时不争辩,大喜时不许诺。
  18. python字符映射表和字符替换
  19. Echarts画散点图
  20. python 列表推导式详解

热门文章

  1. Mituan-极客时间-漏洞挖掘与智能攻防实战
  2. MFC 控件PictureControl 清除显示
  3. CRC (Cyclic redundancy check) java 实现
  4. 国内图书分类号 国际图书分类号查询
  5. 为什么码农要了解业务?(文末有福利)
  6. fluent python 2nd edition_fluent python读书笔记2.2节
  7. 浅谈Echarts3.0
  8. Perfetto工具集之traced_perf
  9. 2022年最新面试JVM面试追魂夺命17问,教科书级回答
  10. [C#][Windows窗体程序]实现自动出题并判分