一、当前安装的版本号:IntelliJ IDEA 2016.2.3
IntelliJ IDEA的官网:https://www.jetbrains.com
二、破解
百度下载一个 JetbrainsCrack-2.6.2.jar 破解补丁。放在你的安装idea下面的bin的目录下面(没找到可以私下问我要)。
在安装的idea下面的bin目录下面有2个文件 :
- idea64.exe.vmoptions,
-
idea.exe.vmoptions
加入如下代码:
-javaagent:D:\AllSoft\ide\IntelliJ IDEA 2016.2.3\bin\JetbrainsCrack-2.6.2.jar
或者如下处理
1. 到网站 http://idea.lanyus.com/ 获取注册码。
2.填入下面的license server:(2017年版本)
http://intellij.mandroid.cn/
http://idea.imsxm.com/
http://idea.iteblog.com/key.php
三、重新打开IDEA,输入如下代码,即可破解成功(到2099年到期)
ThisCrackLicenseId-{
"licenseId":"ThisCrackLicenseId",
"licenseeName":"idea",
"assigneeName":"",
"assigneeEmail":"idea@163.com",
"licenseRestriction":"For This Crack, Only Test! Please support genuine!!!",
"checkConcurrentUse":false,
"products":[
{"code":"II","paidUpTo":"2099-12-31"},
{"code":"DM","paidUpTo":"2099-12-31"},
{"code":"AC","paidUpTo":"2099-12-31"},
{"code":"RS0","paidUpTo":"2099-12-31"},
{"code":"WS","paidUpTo":"2099-12-31"},
{"code":"DPN","paidUpTo":"2099-12-31"},
{"code":"RC","paidUpTo":"2099-12-31"},
{"code":"PS","paidUpTo":"2099-12-31"},
{"code":"DC","paidUpTo":"2099-12-31"},
{"code":"RM","paidUpTo":"2099-12-31"},
{"code":"CL","paidUpTo":"2099-12-31"},
{"code":"PC","paidUpTo":"2099-12-31"}
],
"hash":"2911276/0",
"gracePeriodDays":7,
"autoProlongated":false}
2019年1月的破解
56ZS5PQ1RF-eyJsaWNlbnNlSWQiOiI1NlpTNVBRMVJGIiwibGljZW5zZWVOYW1lIjoi5q2j54mI5o6I5p2DIC4iLCJhc3NpZ25lZU5hbWUiOiIiLCJhc3NpZ25lZUVtYWlsIjoiIiwibGljZW5zZVJlc3RyaWN0aW9uIjoiRm9yIGVkdWNhdGlvbmFsIHVzZSBvbmx5IiwiY2hlY2tDb25jdXJyZW50VXNlIjpmYWxzZSwicHJvZHVjdHMiOlt7ImNvZGUiOiJJSSIsInBhaWRVcFRvIjoiMjAyMC0wMy0xMCJ9LHsiY29kZSI6IkFDIiwicGFpZFVwVG8iOiIyMDIwLTAzLTEwIn0seyJjb2RlIjoiRFBOIiwicGFpZFVwVG8iOiIyMDIwLTAzLTEwIn0seyJjb2RlIjoiUFMiLCJwYWlkVXBUbyI6IjIwMjAtMDMtMTAifSx7ImNvZGUiOiJHTyIsInBhaWRVcFRvIjoiMjAyMC0wMy0xMCJ9LHsiY29kZSI6IkRNIiwicGFpZFVwVG8iOiIyMDIwLTAzLTEwIn0seyJjb2RlIjoiQ0wiLCJwYWlkVXBUbyI6IjIwMjAtMDMtMTAifSx7ImNvZGUiOiJSUzAiLCJwYWlkVXBUbyI6IjIwMjAtMDMtMTAifSx7ImNvZGUiOiJSQyIsInBhaWRVcFRvIjoiMjAyMC0wMy0xMCJ9LHsiY29kZSI6IlJEIiwicGFpZFVwVG8iOiIyMDIwLTAzLTEwIn0seyJjb2RlIjoiUEMiLCJwYWlkVXBUbyI6IjIwMjAtMDMtMTAifSx7ImNvZGUiOiJSTSIsInBhaWRVcFRvIjoiMjAyMC0wMy0xMCJ9LHsiY29kZSI6IldTIiwicGFpZFVwVG8iOiIyMDIwLTAzLTEwIn0seyJjb2RlIjoiREIiLCJwYWlkVXBUbyI6IjIwMjAtMDMtMTAifSx7ImNvZGUiOiJEQyIsInBhaWRVcFRvIjoiMjAyMC0wMy0xMCJ9LHsiY29kZSI6IlJTVSIsInBhaWRVcFRvIjoiMjAyMC0wMy0xMCJ9XSwiaGFzaCI6IjEyMjkxNDk4LzAiLCJncmFjZVBlcmlvZERheXMiOjAsImF1dG9Qcm9sb25nYXRlZCI6ZmFsc2UsImlzQXV0b1Byb2xvbmdhdGVkIjpmYWxzZX0=-SYSsDcgL1WJmHnsiGaHUWbaZLPIe2oI3QiIneDtaIbh/SZOqu63G7RGudSjf3ssPb1zxroMti/bK9II1ugHz/nTjw31Uah7D0HqeaCO7Zc0q9BeHysiWmBZ+8bABs5vr25GgIa5pO7CJhL7RitXQbWpAajrMBAeZ2En3wCgNwT6D6hNmiMlhXsWgwkw2OKnyHZ2dl8yEL+oV5SW14t7bdjYGKQrYjSd4+2zc4FnaX88yLnGNO9B3U6G+BuM37pxS5MjHrkHqMTK8W3I66mIj6IB6dYXD5nvKKO1OZREBAr6LV0BqRYSbuJKFhZ8nd6YDG20GvW6leimv0rHVBFmA0w==-MIIElTCCAn2gAwIBAgIBCTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTE4MTEwMTEyMjk0NloXDTIwMTEwMjEyMjk0NlowaDELMAkGA1UEBhMCQ1oxDjAMBgNVBAgMBU51c2xlMQ8wDQYDVQQHDAZQcmFndWUxGTAXBgNVBAoMEEpldEJyYWlucyBzLnIuby4xHTAbBgNVBAMMFHByb2QzeS1mcm9tLTIwMTgxMTAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxcQkq+zdxlR2mmRYBPzGbUNdMN6OaXiXzxIWtMEkrJMO/5oUfQJbLLuMSMK0QHFmaI37WShyxZcfRCidwXjot4zmNBKnlyHodDij/78TmVqFl8nOeD5+07B8VEaIu7c3E1N+e1doC6wht4I4+IEmtsPAdoaj5WCQVQbrI8KeT8M9VcBIWX7fD0fhexfg3ZRt0xqwMcXGNp3DdJHiO0rCdU+Itv7EmtnSVq9jBG1usMSFvMowR25mju2JcPFp1+I4ZI+FqgR8gyG8oiNDyNEoAbsR3lOpI7grUYSvkB/xVy/VoklPCK2h0f0GJxFjnye8NT1PAywoyl7RmiAVRE/EKwIDAQABo4GZMIGWMAkGA1UdEwQCMAAwHQYDVR0OBBYEFGEpG9oZGcfLMGNBkY7SgHiMGgTcMEgGA1UdIwRBMD+AFKOetkhnQhI2Qb1t4Lm0oFKLl/GzoRykGjAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBggkA0myxg7KDeeEwEwYDVR0lBAwwCgYIKwYBBQUHAwEwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQAF8uc+YJOHHwOFcPzmbjcxNDuGoOUIP+2h1R75Lecswb7ru2LWWSUMtXVKQzChLNPn/72W0k+oI056tgiwuG7M49LXp4zQVlQnFmWU1wwGvVhq5R63Rpjx1zjGUhcXgayu7+9zMUW596Lbomsg8qVve6euqsrFicYkIIuUu4zYPndJwfe0YkS5nY72SHnNdbPhEnN8wcB2Kz+OIG0lih3yz5EqFhld03bGp222ZQCIghCTVL6QBNadGsiN/lWLl4JdR3lJkZzlpFdiHijoVRdWeSWqM4y0t23c92HXKrgppoSV18XMxrWVdoSM3nuMHwxGhFyde05OdDtLpCv+jlWf5REAHHA201pAU6bJSZINyHDUTB+Beo28rRXSwSh3OUIvYwKNVeoBY+KwOJ7WnuTCUq1meE6GkKc4D/cXmgpOyW/1SmBz3XjVIi/zprZ0zf3qH5mkphtg6ksjKgKjmx1cXfZAAX6wcDBNaCL+Ortep1Dh8xDUbqbBVNBL4jbiL3i3xsfNiyJgaZ5sX7i8tmStEpLbPwvHcByuf59qJhV/bZOl8KqJBETCDJcY6O2aqhTUy+9x93ThKs1GKrRPePrWPluud7ttlgtRveit/pcBrnQcXOl1rHq7ByB8CFAxNotRUYL9IF5n3wJOgkPojMy6jetQA5Ogc8Sm7RG6vg1yow==
idea代码编辑器主题风格
编辑器风格修改个人并不推荐完全由自己来配置,因为网上提供了很多优秀的主题风格,我们可以导入自己喜欢的主题,然后在其基础上进行微调,推荐主题下载网站http://www.riaway.com,安装下载主题步骤:
1.从主菜单打开你的编辑器选择File->Import Setting.选择你下载的Jar文件;
2.等待重启之后进行配置打开File->Settings->Editor->Colors and fonts 然后选择你安装的主题即可完成;
文件编码设置
File->Settings->Editor->File Encodings
Global Encoding:UTF-8
Projectt Encoding:UTF-8
Default encoding for properties files:UTF-8
勾选上Transparent native-to-ascii conversion
类和方法注释模板
1.修改类注释模板
在File->Settings->Editor->File and Code Templates下分别修改Class,Interface,Enum等注释模板,Class模板部分修改如下,其余的举一反三进行修改。以下所示的${DESCRIPTION}是自定义变量,会在创建类时请求输入
/**
* Copyright (C), 2015-${YEAR}, XXX有限公司
* FileName: ${NAME}
* Author: ${USER}
* Date: ${DATE} ${TIME}
* Description: ${DESCRIPTION}
* History:
* <author> <time> <version> <desc>
* 作者姓名 修改时间 版本号 描述
*/
#if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")
package ${PACKAGE_NAME};
#end
/**
* 〈一句话功能简述〉<br>
* 〈${DESCRIPTION}〉
*
* @author ${USER}
* @create ${DATE}
* @since 1.0.0
*/
public class ${NAME} {
类注释模板修改配置图
类注释模板修改效果图
2.方法注释模板修改
在File->Settings->Editor->Live Templates下添加自定义Template Group,并在自定义Template Group下添加自定义Template,具体配置如下图所示
详细配置参数
Template text内容如下:
/**
* 功能描述: <br>
* 〈$END$〉
*
$param$
* @return:$return$
* @since: 1.0.0
* @Author:$user$
* @Date: $DATE$ $TIME$
*/
Edit Template Variables请求参数部分内容如下:
groovyScript("def result=''; def params=\"${_1}\".replaceAll('[\\\\[|\\\\]|\\\\s]', '').split(',').toList(); for(i = 0; i < params.size(); i++) {result+='* @param ' + params[i] + ((i < params.size() - 1) ? '\\n ' : '')}; return result", methodParameters())
在完成如上配置后,只需在方法内执行/**+Enter键即可生成注释,切记这里说的是方法内部,因为methodParameters()的作用域只在方法内部,这也是Intellij IDEA比较蛋疼的一点,博主在网上找了很久也没发现一个好的解决方案,网上也有人推荐使用JavaDOC插件生成注释,有兴趣的朋友也可以尝试一下
代码格式化
代码格式化的快捷键为Ctrl+Alt+L,如果在类中执行代码格式化则会对代码进行排版,若焦点在类或者文件夹上,则会弹出格式化选项提示框,弹出框如下图所示:
Include subdirectories:是否对子目录也进行格式化
Optimize imports:优化导入的类和包
Rearrange enries:对代码顺序进行调整(将Filed放在Method前边)
Filters即配置过滤条件,表示对哪些文件进行格式化
自动导入所有包
在Intellij IDEA一次只能导入单个包,没有像Eclipse快速导入包的快捷键Ctrl+Shift+O,但是Intellij IDEA下有个自动导入包的功能。在File->Settings->Editor->General->Auto Import下进行配置,具体配置如下如所示
Insert imports on paste:复制代码的时候,对于导入的包是否需要进行询问的一个选项。
ASK(有需要导入的包名时会弹提示框,问你要不要导入)
NONE(有需要导入的包名时不会弹提示框,也不会自动导入)
ALL(有需要导入的包名时会自动导入,不会弹提示框)
Show import popup:当输入的类的声明没被导入时,会弹出一个选择的对话框
Optimize imports on fly:自动优化包导入,移除不需要的包
Add unambiguous imports on the fly:这个就是自动导入功能了,当你输入类名后声明就被自动导入了
Exclude from Import and Completion:这个其实就是你自定义import,可以不用关注,一般来说你是用不上的
Maven配置
在File->Settings->Build,Execution,Deployment->Build Tools->Maven下对Maven进行配置,个人配置如下图所示
user settings file:指定Maven的settings.xml位置
local repository: 指定Maven的本地仓库位置,是读取settings.xml自动配置的
maven home directory:指定本地Maven的安装目录所在,因为我已经配置了MAVEN_HOME系统参数,所以直接这样配置IntelliJ IDEA 是可以找到的,但是假如你没有配置的话,这里可以选择你的Maven安装目录
VM options for importer:可以设置导入的VM参数,一般这个都不需要主动改,除非项目真的导入太慢了我们再增大此参数
Import Maven projects automatically:表示IntelliJ IDEA会实时监控项目的pom.xml文件进行项目变动设置,建议进行勾选
Sources和Documentation:表示在Maven导入依赖包的时候是否自动下载源码和文档,默认是没有勾选的也不建议勾选,原因是这样可以加快项目从外网导入依赖包的速度,如果我们需要源码和文档的时候我们到时候再针对某个依赖包进行联网下载即可,IntelliJ IDEA 支持直接从公网下载源码和文档的
Maven聚合工程搭建
1.创建父工程(不需要使用模板)
创建完父工程后删除父工程的src目录,该目录在聚合项目中无用
2.添加非web子模块
3.添加web子模块(使用maven web项目模板
5.打开pom.xml文件 观察pom.xml文件的变化
代码提示忽略大小写
在File->Settings->Editor->General->Code Completion下设置Case sensitive completion为none
实用插件推荐
快捷键提示插件
Key promoter是在你通过非快捷键方式使用某功能时 为你提供快捷键建议 在开始记不住快捷键的情况下 强烈推荐安装
翻译插件
翻译插件 TranslationPlugin,支持支持中英互译、单词朗读,详细安装文档请参考:TranslationPlugin介绍与安装手册
热部署插件JRebel
JRebel热部署插件安装和使用请参考:JRebel热部署插件安装和使用
Maven Helper
Maven 辅助插件 用于查找Maven依赖冲突非常好用的一款插件 安装步骤请参考:Maven Helper安装使用
Properties to YAML Converter
在开发SpringBoot项目时,会需要把Properties的配置格式改为 YAML格式,Properties to YAML Converter提供了很好的支持
阿里巴巴代码规范插件p3c-pmd
详细安装和使用请参考:阿里巴巴代码规范插件p3c-pmd
开发必备快捷键
IntelliJ IDEA提供了丰富的快捷键组合来加快开发效率,但是快捷键太多琳琅满目也会给人无从下手的感觉。下面是我个人整理的在开发过程中必备的快捷键,(注:IDEA快捷键可能会与其他软件快捷键产生冲突,在开发过程中有必要进行取舍)此外IntelliJ IDEA 官方提供了学习IDEA快捷键的一个插件:IDE Features Trainer:https://plugins.jetbrains.com/plugin/8554?pr=idea,大家可以自行去插件库下载学习
Ctrl相关
快捷键 | 介绍 |
---|---|
Ctrl + B | 进入光标所在的方法/变量的接口或是定义处,等效于Ctrl + 左键单击 |
Ctrl + D | 复制光标所在行或复制选择内容,并把复制内容插入光标位置下面 |
Ctrl + F | 在当前文件进行文本查找 |
Ctrl + H | 查看类的继承结构 |
Ctrl + N | 通过类名定位文件 |
Ctrl + O | 快速重写父类方法 |
Ctrl + P | 方法参数提示 |
Ctrl + Y | 删除光标所在行或删除选中的行 |
Ctrl + W | 递进式选择代码块 |
Ctrl + Z | 撤销 |
Ctrl + 1,2,3…9 | 定位到对应数值的书签位置 结合Ctrl + Shift + 1,2,3…9使用 |
Ctrl + F1 | 在光标所在的错误代码出显示错误信息 |
Ctrl + F12 | 弹出当前文件结构层,可以在弹出的层上直接输入进行筛选 |
Ctrl + Space | 基础代码补全默认在Windows系统上被输入法占用,需要进行修改,建议修改为Ctrl + 逗号 |
Ctrl + / | 注释光标所在行代码,会根据当前不同文件类型使用不同的注释符号 |
Alt相关
快捷键 | 介绍 |
---|---|
Alt + Q | 弹出一个提示,显示当前类的声明/上下文信息 |
Alt + Enter | 根据光标所在问题,提供快速修复选择 |
Shift相关
快捷键 | 介绍 |
---|---|
Shift + F3 | 在查找模式下,定位到上一个匹配处 |
Ctrl+Alt相关
快捷键 | 介绍 |
---|---|
Ctrl + Alt + B | 在某个调用的方法名上使用会跳到具体的实现处 |
Ctrl + Alt + L | 格式化代码 可以对当前文件和整个包目录使用 |
Ctrl + Alt + M | 快速抽取方法 |
Ctrl + Alt + O | 优化导入的类和包 可以对当前文件和整个包目录使用 |
Ctrl + Alt + T | 对选中的代码弹出环绕选项弹出层 |
Ctrl + Alt + V | 快速引进变量 |
Ctrl + Alt + F7 | 寻找类或是变量被调用的地方,以弹出框的方式显示 |
Ctrl + Alt + 左方向键 | 退回到上一个操作的地方 |
Ctrl + Alt + 右方向键 | 前进到上一个操作的地方 |
Ctrl+Shift相关
快捷键 | 介绍 |
---|---|
Ctrl + Shift + F | 根据输入内容查找整个项目或指定目录内文件 |
Ctrl + Shift + H | 查看方法的继承结构 |
Ctrl + Shift + J | 自动将下一行合并到当前行末尾 |
Ctrl + Shift + N | 通过文件名定位打开文件/目录,打开目录需要在输入的内容后面多加一个正斜杠 |
Ctrl + Shift + R | 根据输入内容替换对应内容,范围为整个项目或指定目录内文件 |
Ctrl + Shift + U | 对选中的代码进行大/小写轮流转换 |
Ctrl + Shift + W | 递进式取消选择代码块 |
Ctrl + Shift + Z | 取消撤销 |
Ctrl + Shift + / | 代码块注释 |
Ctrl + Shift + + | 展开所有代码 |
Ctrl + Shift + - | 折叠所有代码 |
Ctrl + Shift + 1,2,3…9 | 快速添加指定数值的书签 |
Ctrl + Shift + F7 | 高亮显示所有该选中文本,按Esc高亮消失 |
Ctrl + Shift + Space | 智能代码提示 |
Ctrl + Shift + Enter | 自动结束代码,行末自动添加分号 |
Alt+Shift相关
快捷键 | 介绍 |
---|---|
Ctrl+Alt+Shift相关
快捷键 | 介绍 |
---|---|
其他
快捷键 | 介绍 |
---|---|
F2 | 跳转到下一个高亮错误或警告位置 |
F3 | 在查找模式下,定位到下一个匹配处 |
F4 | 编辑源 |
2019破解码
N757JE0KCT-eyJsaWNlbnNlSWQiOiJONzU3SkUwS0NUIiwibGljZW5zZWVOYW1lIjoid3UgYW5qdW4iLCJhc3NpZ25lZU5hbWUiOiIiLCJhc3NpZ25lZUVtYWlsIjoiIiwibGljZW5zZVJlc3RyaWN0aW9uIjoiRm9yIGVkdWNhdGlvbmFsIHVzZSBvbmx5IiwiY2hlY2tDb25jdXJyZW50VXNlIjpmYWxzZSwicHJvZHVjdHMiOlt7ImNvZGUiOiJJSSIsInBhaWRVcFRvIjoiMjAyMC0wMS0wNyJ9LHsiY29kZSI6IkFDIiwicGFpZFVwVG8iOiIyMDIwLTAxLTA3In0seyJjb2RlIjoiRFBOIiwicGFpZFVwVG8iOiIyMDIwLTAxLTA3In0seyJjb2RlIjoiUFMiLCJwYWlkVXBUbyI6IjIwMjAtMDEtMDcifSx7ImNvZGUiOiJHTyIsInBhaWRVcFRvIjoiMjAyMC0wMS0wNyJ9LHsiY29kZSI6IkRNIiwicGFpZFVwVG8iOiIyMDIwLTAxLTA3In0seyJjb2RlIjoiQ0wiLCJwYWlkVXBUbyI6IjIwMjAtMDEtMDcifSx7ImNvZGUiOiJSUzAiLCJwYWlkVXBUbyI6IjIwMjAtMDEtMDcifSx7ImNvZGUiOiJSQyIsInBhaWRVcFRvIjoiMjAyMC0wMS0wNyJ9LHsiY29kZSI6IlJEIiwicGFpZFVwVG8iOiIyMDIwLTAxLTA3In0seyJjb2RlIjoiUEMiLCJwYWlkVXBUbyI6IjIwMjAtMDEtMDcifSx7ImNvZGUiOiJSTSIsInBhaWRVcFRvIjoiMjAyMC0wMS0wNyJ9LHsiY29kZSI6IldTIiwicGFpZFVwVG8iOiIyMDIwLTAxLTA3In0seyJjb2RlIjoiREIiLCJwYWlkVXBUbyI6IjIwMjAtMDEtMDcifSx7ImNvZGUiOiJEQyIsInBhaWRVcFRvIjoiMjAyMC0wMS0wNyJ9LHsiY29kZSI6IlJTVSIsInBhaWRVcFRvIjoiMjAyMC0wMS0wNyJ9XSwiaGFzaCI6IjExNTE5OTc4LzAiLCJncmFjZVBlcmlvZERheXMiOjAsImF1dG9Qcm9sb25nYXRlZCI6ZmFsc2UsImlzQXV0b1Byb2xvbmdhdGVkIjpmYWxzZX0=-AE3x5sRpDellY4SmQVy2Pfc2IT7y1JjZFmDA5JtOv4K5gwVdJOLw5YGiOskZTuGu6JhOi50nnd0WaaNZIuVVVx3T5MlXrAuO3kb2qPtLtQ6/n3lp4fIv+6384D4ciEyRWijG7NA9exQx39Tjk7/xqaGk7ooKgq5yquIfIA+r4jlbW8j9gas1qy3uTGUuZQiPB4lv3P5OIpZzIoWXnFwWhy7s//mjOWRZdf/Du3RP518tMk74wizbTeDn84qxbM+giNAn+ovKQRMYHtLyxntBiP5ByzfAA9Baa5TUGW5wDiZrxFuvBAWTbLrRI0Kd7Nb/tB9n1V9uluB2WWIm7iMxDg==-MIIElTCCAn2gAwIBAgIBCTANBgkqhkiG9w0BAQsFADAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBMB4XDTE4MTEwMTEyMjk0NloXDTIwMTEwMjEyMjk0NlowaDELMAkGA1UEBhMCQ1oxDjAMBgNVBAgMBU51c2xlMQ8wDQYDVQQHDAZQcmFndWUxGTAXBgNVBAoMEEpldEJyYWlucyBzLnIuby4xHTAbBgNVBAMMFHByb2QzeS1mcm9tLTIwMTgxMTAxMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAxcQkq+zdxlR2mmRYBPzGbUNdMN6OaXiXzxIWtMEkrJMO/5oUfQJbLLuMSMK0QHFmaI37WShyxZcfRCidwXjot4zmNBKnlyHodDij/78TmVqFl8nOeD5+07B8VEaIu7c3E1N+e1doC6wht4I4+IEmtsPAdoaj5WCQVQbrI8KeT8M9VcBIWX7fD0fhexfg3ZRt0xqwMcXGNp3DdJHiO0rCdU+Itv7EmtnSVq9jBG1usMSFvMowR25mju2JcPFp1+I4ZI+FqgR8gyG8oiNDyNEoAbsR3lOpI7grUYSvkB/xVy/VoklPCK2h0f0GJxFjnye8NT1PAywoyl7RmiAVRE/EKwIDAQABo4GZMIGWMAkGA1UdEwQCMAAwHQYDVR0OBBYEFGEpG9oZGcfLMGNBkY7SgHiMGgTcMEgGA1UdIwRBMD+AFKOetkhnQhI2Qb1t4Lm0oFKLl/GzoRykGjAYMRYwFAYDVQQDDA1KZXRQcm9maWxlIENBggkA0myxg7KDeeEwEwYDVR0lBAwwCgYIKwYBBQUHAwEwCwYDVR0PBAQDAgWgMA0GCSqGSIb3DQEBCwUAA4ICAQAF8uc+YJOHHwOFcPzmbjcxNDuGoOUIP+2h1R75Lecswb7ru2LWWSUMtXVKQzChLNPn/72W0k+oI056tgiwuG7M49LXp4zQVlQnFmWU1wwGvVhq5R63Rpjx1zjGUhcXgayu7+9zMUW596Lbomsg8qVve6euqsrFicYkIIuUu4zYPndJwfe0YkS5nY72SHnNdbPhEnN8wcB2Kz+OIG0lih3yz5EqFhld03bGp222ZQCIghCTVL6QBNadGsiN/lWLl4JdR3lJkZzlpFdiHijoVRdWeSWqM4y0t23c92HXKrgppoSV18XMxrWVdoSM3nuMHwxGhFyde05OdDtLpCv+jlWf5REAHHA201pAU6bJSZINyHDUTB+Beo28rRXSwSh3OUIvYwKNVeoBY+KwOJ7WnuTCUq1meE6GkKc4D/cXmgpOyW/1SmBz3XjVIi/zprZ0zf3qH5mkphtg6ksjKgKjmx1cXfZAAX6wcDBNaCL+Ortep1Dh8xDUbqbBVNBL4jbiL3i3xsfNiyJgaZ5sX7i8tmStEpLbPwvHcByuf59qJhV/bZOl8KqJBETCDJcY6O2aqhTUy+9x93ThKs1GKrRPePrWPluud7ttlgtRveit/pcBrnQcXOl1rHq7ByB8CFAxNotRUYL9IF5n3wJOgkPojMy6jetQA5Ogc8Sm7RG6vg1yow==
参考
https://blog.csdn.net/m_m254282520/article/details/78900238