# Kerberos
使用**Kerberos**作為**用戶和服務的強身份驗證和身份傳播**的基礎。**Kerberos 是一種計算機網絡認證協議,它允許某實體在非安全網絡環境下通信,向另一個實體以一種安全的方式證明自己的身份。**

## 主要角色
* 用戶鑒權后臺AS (Authentication Server)
* 票據后臺TGS(Ticket-Granting Server)
* 業務后臺App Server
## 流程
* 密碼校驗、安全通道的建立,獲取大票TGT
* 獲取業務票據,TGT換取相應的業務小票ST
* 使用業務小票ST去訪問業務服務器
## 優點
* 用戶的密碼從不會在網絡中傳輸,從不會以任何形式存儲在客戶端機器上,使用完之后立即刪除,也從不會把明文密碼存儲在認證服務器(KDC)上的數據庫里。
* 實現單點登錄(Single Sign-On),用戶在每一個work session僅僅會輸入一次密碼或者指定keytab,之后用戶就可以免密顯示地訪問他們授權的所有服務了。
## 密碼校驗、安全通道的建流程
C->S
1. 本地的有服務端的公鑰K,生成客戶端的公鑰/私鑰,
2. 用加鹽的密碼S加密(用戶信息和公鑰)得到S1
3. 用服務端的公鑰加密 SK1
S->C
1.用私鑰解密,S1
2.用加鹽的密碼S解密得到(用戶信息和客戶端公鑰)S1
3.生成大票TG
4.用客戶端公鑰加密大大票
# ECDH

ECC+DH 密鑰交換算法
## 算法原理
* A 隨機生成一對公私鑰 PrivateA 和 PublicA
* B 隨機生成一對公私鑰 PrivateB 和 PublicB
* A 和 B 把自己的公鑰(公開參數)發給對方
* A 和 B 使用自己的私鑰和對方公鑰生成 ShareKey
* ShareKeyA \= ShareKeyB
# 網關取號
## 好處
1. 節約成本 普通下發短信3毛 網關取號2秒
2. 快捷 一鍵登錄
## 方案
解決證明手機號是你本人目前在用的

## 難點
1. 通用性
2. 判斷手機狀態(運營商)
# 唯一id的方案
https://blog.csdn.net/m0_65322636/article/details/122643074
## 目標
唯一性, 穩定性
## 方案(本地收集 + 云端生成)
1. 找到系統的特征值,比如OAID(廣告id):300多個 相關性比
2. 云端會生成自己的唯一id,并且建設 唯一id與特征值之間的映射
3. 云端可以顯現更多的容錯性算法,某個id突然異常
# 實時監控
略
- Android
- 四大組件
- Activity
- Fragment
- Service
- 序列化
- Handler
- Hander介紹
- MessageQueue詳細
- 啟動流程
- 系統啟動流程
- 應用啟動流程
- Activity啟動流程
- View
- view繪制
- view事件傳遞
- choreographer
- LayoutInflater
- UI渲染概念
- Binder
- Binder原理
- Binder最大數據
- Binder小結
- Android組件
- ListView原理
- RecyclerView原理
- SharePreferences
- AsyncTask
- Sqlite
- SQLCipher加密
- 遷移與修復
- Sqlite內核
- Sqlite優化v2
- sqlite索引
- sqlite之wal
- sqlite之鎖機制
- 網絡
- 基礎
- TCP
- HTTP
- HTTP1.1
- HTTP2.0
- HTTPS
- HTTP3.0
- HTTP進化圖
- HTTP小結
- 實踐
- 網絡優化
- Json
- ProtoBuffer
- 斷點續傳
- 性能
- 卡頓
- 卡頓監控
- ANR
- ANR監控
- 內存
- 內存問題與優化
- 圖片內存優化
- 線下內存監控
- 線上內存監控
- 啟動優化
- 死鎖監控
- 崩潰監控
- 包體積優化
- UI渲染優化
- UI常規優化
- I/O監控
- 電量監控
- 第三方框架
- 網絡框架
- Volley
- Okhttp
- 網絡框架n問
- OkHttp原理N問
- 設計模式
- EventBus
- Rxjava
- 圖片
- ImageWoker
- Gilde的優化
- APT
- 依賴注入
- APT
- ARouter
- ButterKnife
- MMKV
- Jetpack
- 協程
- MVI
- Startup
- DataBinder
- 黑科技
- hook
- 運行期Java-hook技術
- 編譯期hook
- ASM
- Transform增量編譯
- 運行期Native-hook技術
- 熱修復
- 插件化
- AAB
- Shadow
- 虛擬機
- 其他
- UI自動化
- JavaParser
- Android Line
- 編譯
- 疑難雜癥
- Android11滑動異常
- 方案
- 工業化
- 模塊化
- 隱私合規
- 動態化
- 項目管理
- 業務啟動優化
- 業務架構設計
- 性能優化case
- 性能優化-排查思路
- 性能優化-現有方案
- 登錄
- 搜索
- C++
- NDK入門
- 跨平臺
- H5
- Flutter
- Flutter 性能優化
- 數據跨平臺