# sensitive-spring-boot-starter **Repository Path**: dingwen-gitee/sensitive-spring-boot-starter ## Basic Information - **Project Name**: sensitive-spring-boot-starter - **Description**: 基于DFA算法的敏感词过滤,数据脱敏,日志脱敏等 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2024-11-20 - **Last Updated**: 2025-06-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: treasure ## README ### sensitive-spring-boot-starter #### 介绍 基于DFA算法的敏感词过滤,数据脱敏,日志脱敏等 #### DFA算法介绍 > DFA(确定性有限自动机)算法是一种常用于处理敏感词过滤的算法。它通过构建一个有限的状态机,来高效地查找输入文本中是否包含敏感词。这个算法常用于文本处理和安全检测,比如聊天室、社交平台等场景中的敏感词检测。 ##### 核心概念 + 状态:DFA 有一组状态,用来表示正在进行的匹配过程。每个状态对应着一个字符匹配的状态。 + 转移:从一个状态到另一个状态的过程,基于输入字符的匹配结果。 + 接受状态:某个状态表示匹配了一个敏感词。我们通常在接受状态时,标记为“匹配到敏感词”。 + 输入字符:每次检查文本中的一个字符,尝试从当前状态转移到下一个状态。 + 字典树:DFA 算法实际上是在构建一颗类似字典树的结构,用来表示所有的敏感词。每个敏感词的每个字符都是树中的一个节点 ##### 工作流程 + 构建 DFA: > 将所有敏感词按照字符顺序构建一个树结构。树的每个节点代表一个字符,边则代表字符的连接。 然后,通过树的路径来生成 DFA 状态机。每个状态对应树中的一个位置,转移则表示字符匹配的过程。 + 匹配过程: > 当你遍历输入文本时,DFA 会在每个字符的基础上进行状态转移。 如果某个状态是“接受状态”,那么就匹配到了敏感词。 #### 敏感词过滤概览 #### 脱敏概览
![]() |
![]() |
![]() |