Normalization(Primary Key)
文章平均质量分 82
Normalization(规范化)是数据库设计的核心技术,目的是减少数据冗余、消除异常(插入 / 更新 / 删除异常),优化数据存储结构。
Bol5261
Begin here!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
一致性(Consistency)要求事务的执行必须使数据库从一个合法的一致状态
一致性(Consistency)要求事务的执行必须使数据库从一个合法的一致状态(满足所有预定义的完整性约束、业务规则等)转换到另一个同样合法的一致状态。它不关注单个操作是否“全做或全不做”(那是原子性),也不关注并发执行时是否相互干扰(那是隔离性),更不涉及故障后数据是否保留(那是持久性)。一致性是事务对数据库语义正确性的保证,通常由应用逻辑和数据库约束(如主键、外键、CHECK约束等)共同维护。原创 2026-08-19 00:00:00 · 77 阅读 · 0 评论 -
*2NF**:要求非主属性完全函数依赖于候选键(即不能存在**部分依赖**)
3. **2NF**:要求非主属性完全函数依赖于候选键(即不能存在**部分依赖**)。 - 候选键是单属性 $ A $,所有函数依赖左部都是 $ A $ 或其真子集(但 $ A $ 无真子集),因此**不可能存在部分依赖**。 ✅ 满足 2NF。原创 2026-08-19 00:00:00 · 256 阅读 · 0 评论 -
在E-R图(实体-联系图)中,表示实体间联系的图形是菱形
✅ **Chen记号(主流教学用法)**: - 在实体与联系之间的连线上,靠近实体端标注基数,格式为: - `1`:恰好一个(mandatory and unique) - `N` 或 `*`:零个或多个(optional or many) - `0..1`:零个或一个(optional single) - `1..N`:至少一个、至多N个(mandatory many) - `M:N`:表示多对多联系(两端均为N,即非限定性多值)原创 2026-08-20 00:00:00 · 102 阅读 · 0 评论 -
在MVC(Model-View-Controller)架构中,View仅负责数据的展示,**不应直接修改Model的数据
- **React** 更倾向于 **UI = f(state)** 的函数式思想,其官方推荐架构接近 **Flux** 或 **Redux(单向数据流)**,实际项目中常采用 **Component + State Management(如Context/Redux/Zustand)+ Effects(如useEffect)** 的组合,可视为 **“类MVVM”或“组件中心架构”**,但**不强调严格分离Controller角色**——组件本身融合了View与轻量Controller逻辑(如事件处理、状原创 2026-08-19 00:00:00 · 151 阅读 · 0 评论 -
在UML类图中,带空心三角形的实线箭头表示**泛化关系(Generalization)**
- A) 关联关系:用普通实线(可带箭头或多重性标注),表示对象间的结构连接;- B) 依赖关系:用带开放箭头的虚线,表示临时使用(如方法参数、局部变量);- D) 实现关系:用带空心三角形的**虚线**箭头,表示类实现接口。原创 2026-08-17 00:00:00 · 60 阅读 · 0 评论 -
单例模式(Singleton Pattern)是一种创建型设计模式,其核心目标是确保某类在整个系统中仅存在一个实例
✅ **防反序列化破坏**: Java 序列化机制对 `enum` 类型做了特殊处理:无论 `ObjectInputStream` 如何反序列化,**永远只返回该枚举类中已声明的常量实例**(即 `INSTANCE`),而不会调用任何构造器或 `readObject` 方法。`Enum` 的反序列化逻辑由 JVM 内置实现,直接通过 `Enum.valueOf()` 查找已有常量,完全跳过对象创建流程,因此不可能生成新实例。原创 2026-08-19 00:00:00 · 188 阅读 · 0 评论 -
软件架构风格分类(如Bass、Clements和Kazman在《Software Architecture in Practice》中提出的分类)
1. **单向依赖性(Strict Layered Dependency)**: 每一层只能使用(调用)其下层提供的接口,禁止跨层调用或反向调用(如第N层不可直接调用第N−2层,也不可被上层以外的层调用)。这确保了控制流严格自上而下(请求)、自下而上(响应),形成清晰的“调用→等待→返回”链。原创 2026-08-20 00:00:00 · 203 阅读 · 0 评论 -
Python 中常见内置数据类型的可变性(mutability)特性
✅ **好处:** 1. **可哈希性(Hashability)→ 支持用作字典键/集合元素** 不可变对象的内容不会改变 → 其哈希值(`hash()`)在生命周期内恒定 → 可安全用于 `dict` 键或 `set` 成员。 例如:`{("a", "b"): 1}` 合法;但 `{["a", "b"]: 1}` 会报 `TypeError: unhashable type: 'list'`。原创 2026-08-20 00:00:00 · 209 阅读 · 0 评论 -
数字证书与PKI(公钥基础设施)是保障网络通信安全的核心机制
✅ **离线存储(Air-Gapped Storage)** - 根CA私钥生成于完全断网的专用硬件(如HSM或定制PC),生成后立即移除所有网络接口(拔网线、禁用Wi-Fi/蓝牙、屏蔽RF信号)。 - 私钥以加密形式存储于高安全硬件模块(如FIPS 140-2 Level 3+认证的HSM),HSM具备防篡改外壳、零化密钥内存、物理入侵自毁机制(如电压异常时自动擦除密钥)。 - 存储介质(如智能卡、USB密钥)由多人分持“门限密码学”分片(如Shamir's Secret Sharing),需原创 2026-08-20 00:00:00 · 226 阅读 · 0 评论 -
信息安全的三大核心属性(CIA三元组)是保障信息系统安全的基础
这些扩展属性并非独立存在,而是与CIA形成“基础—支撑—增强”三层结构:CIA是底线要求,其余属性则在具体场景中补足治理深度、法律效力与对抗高级威胁的能力。例如GDPR强调“可追溯性+不可否认性”以支撑问责;等保2.0三级以上系统强制要求“电子签名+日志审计”,正是CIA与扩展属性协同落地的体现。```python原创 2026-08-19 00:00:00 · 235 阅读 · 0 评论 -
黑盒测试用例设计是不关注内部实现、仅依据需求规格说明,针对输入与输出行为进行验证的测试方法
- **等价类划分**:分为有效等价类(符合规格)和无效等价类(非法输入),确保覆盖典型与异常输入;需注意避免遗漏边界或隐含约束。- **边界值分析**:常与等价类结合使用,不仅测试上/下边界,还应包括边界±1(如最小值、最大值、最小值−1、最大值+1),因大量缺陷集中于边界附近。- **判定表驱动**:适用于逻辑明确、条件与动作间存在规则映射的业务场景(如订单状态变更、权限校验),可系统化穷举组合并消除冗余规则。- **因果图**:将判定表的逻辑关系图形化,通过“因→果”建模,再引入约束(如E约束、原创 2026-08-18 00:00:00 · 23 阅读 · 0 评论 -
三种主要软件测试类型及其别称与核心方法
🔍 **典型协同步骤(以“用户注册年龄字段(1–150岁)”为例)**: 1. 划分等价类: • 有效等价类:E1 = [1, 150] • 无效等价类:E2 = (−∞, 0],E3 = [151, +∞) 2. 对每个等价类选取**边界值+典型值**: • E1(有效)→ 测试:**0(E2边界)、1(下界)、2(下界+1)、149(上界−1)、150(上界)、151(E3边界)** • E2/E3 → 已覆盖其边界(0和151),无需额外重复;若需强化,可补充原创 2026-08-17 00:00:00 · 45 阅读 · 0 评论 -
软件测试通常按阶段划分为四个主要层次,各阶段对应不同的测试对象和目标
据传递、调用逻辑及全局资源(如数据库连接、共享内存)的协同行为。- **系统测试(System Testing)**:将集成后的完整软件系统置于接近真实运行环境(含硬件、网络、第三方服务等)中,依据需求规格说明书(SRS)全面验证功能、性能、安全性、兼容性、可靠性等非功能与功能需求。- **验收测试(Acceptance Testing)**:由用户、客户或业务方主导,基于用户故事、业务流程或合同条款开展,包括Alpha测试(内部用户)、Beta测试(外部真实用户)及UAT(用户验收测试),核心目标原创 2026-08-16 00:00:00 · 206 阅读 · 0 评论 -
常见索引类型的核心特点与适用场景,但需补充关键细节以增强准确性与工程实用性
✅ **3. 查询性能更稳定(等值查询统一为“查到叶子节点”)** - B树:等值查询可能在任意层级命中数据(内部节点也可能存数据),路径长度不一致,性能波动大。 - B+树:**所有查找必达叶子节点**(无论等值还是范围),路径长度严格等于树高,性能可预测、易优化。原创 2026-08-19 00:00:00 · 156 阅读 · 0 评论 -
ACID 是数据库事务的四个核心特性,确保数据操作的可靠性与正确性
→ 事务沿版本链从新到旧遍历,**找到第一个满足可见条件的版本即为本次查询所见值**。3. **可重复读的保障**: - RR 级别下,`read view` 在**事务第一次执行 SELECT 时创建**(非每次查询),后续查询复用同一视图 - 因此即使其他事务提交了新版本,当前事务仍“固守”初始快照,保证多次读结果一致原创 2026-08-18 00:00:00 · 28 阅读 · 0 评论 -
关系数据库规范化(Normalization)中前四个范式(1NF、2NF、3NF、BCNF)的核心定义与判定条件
✅ BCNF ⊆ 3NF(满足BCNF的关系必然满足3NF); ❌ 反之不成立(存在满足3NF但不满足BCNF的反例,如经典例子:R(A,B,C),F = {A→B, B→C},候选键为A,B→C中B不是超键、C是非主属性 → 违反BCNF;但因C是非主属性且B→C是传递依赖,且B不是候选键 → 违反3NF?等等,需校准:此例中候选键是A,A→B→C,故A→C传递,非主属性C传递依赖于A,所以该模式甚至不满足3NF。正确反例应为:R(学号,课程号,教师名),F={ (学号,课程号)→教师名, 教师名→课原创 2026-08-16 00:00:00 · 338 阅读 · 0 评论 -
面向对象设计中的五大核心原则(SOLID原则)
- **SRP(单一职责原则)**:一个类应仅有一个引起它变化的原因,即只承担一种职责,提高内聚、降低耦合。- **OCP(开闭原则)**:软件实体(类、模块、函数等)应对扩展开放、对修改关闭;可通过抽象、多态、策略模式等实现。- **LSP(里氏替换原则)**:子类型必须能够替换其父类型而不影响程序正确性;要求子类不加强前置条件、不削弱后置条件、不变量保持。- **ISP(接口隔离原则)**:不应强迫客户端依赖于它不需要的接口;应将庞大接口拆分为多个小而专一的接口。- **DIP(依赖倒置原则)*原创 2026-08-20 00:00:00 · 249 阅读 · 0 评论 -
**行为型设计模式**的11种经典模式,它们关注对象之间的通信、职责分配与算法的灵活封装
- **责任链(Chain of Responsibility)**:将请求沿处理者链传递,每个处理者决定是否处理或转发,实现松耦合的请求分发。 - **中介者(Mediator)**:用一个中介对象封装一组对象间的交互,降低对象间直接依赖(如聊天室中的消息路由)。 - **备忘录(Memento)**:在不破坏封装的前提下捕获并外部保存对象内部状态,以便后续恢复(如文本编辑器的撤销点)。 - **访问者(Visitor)**:在不修改类的前提下,为一组类的对象添加新操作(适用于数据结构稳定但操原创 2026-08-19 00:00:00 · 217 阅读 · 0 评论 -
设计模式中的**结构型模式**,共7种,按“类/对象组合”维度分类
| **核心意图** | **解决接口不兼容问题**:让原本因接口不匹配而无法协作的类能一起工作 | **控制对目标对象的访问**:为对象提供一个替身或占位符,以附加逻辑(如权限、延迟、日志等) || **动机来源** | 外部已有类(第三方库、遗留系统)接口不符合当前需求,需“转换”而非修改 | 目标对象本身可用,但需在访问前后/过程中**增强行为或施加约束** || **客户端视角** | 客户端**不知道也不关心被适配的对象**,只面向统一适配后的新接口 | 客户端通常**明确知道正在使用代理**原创 2026-08-20 00:00:00 · 168 阅读 · 0 评论 -
设计模式中的“创建型模式”(Creational Patterns),共5种经典类型,用于处理对象的创建过程
| 方式 | 是否懒加载 | 是否线程安全 | 是否防反射/反序列化 | 语言适用性 ||------------------|------------|--------------|------------------------|------------------|| 双重检查锁(DCL) | ✅ | ✅(+volatile)| ❌ | Java(推荐) || 静态内部类 | ✅原创 2026-08-20 00:00:00 · 645 阅读 · 0 评论 -
BPMN(Business Process Model and Notation)流程图中,泳道(Pool 和 Lane)是组织和可视化流程责任归属的关键结构
✅ **更推荐且语义清晰的方案:信号事件(Signal Event) + 全局信号定义(Global Signal)** - 定义一个 **全局 Signal**(ID 唯一,作用域为整个流程图), - 在“发送方”Lane 使用 **Throw Signal Event**, - 在“接收方”Lane 使用 **Catch Signal Event**, - 二者通过 **顺序流**(而非消息流)连接到各自任务——BPMN 规范允许 Signal 在同一 Pool 内跨 Lane 传播(因原创 2026-08-18 00:00:00 · 171 阅读 · 0 评论 -
DevSecOps(Development, Security, and Operations)是一种将安全(Security)深度集成到DevOps全流程中的实践理念与方法论
✅ **SCA(Software Composition Analysis,软件成分分析)** - **适用阶段**:依赖解析阶段(`package-lock.json`/`pom.xml`/`go.mod`生成后)→ CI构建初期 - **原理**:识别项目所用开源组件(直接/传递依赖),比对CVE/NVD、许可证数据库及已知漏洞库。 - **典型场景**:发现Log4j2(CVE-2021-44228)、Spring4Shell(CVE-2022-22965)等第三方库高危漏洞;识别GPL等原创 2026-08-17 00:00:00 · 39 阅读 · 0 评论 -
内存泄漏(Memory Leak)是指程序在动态分配内存后,未能正确释放已不再使用的内存空间
内存泄漏(Memory Leak)是指程序在动态分配内存后,未能正确释放已不再使用的内存空间,导致这部分内存无法被再次利用,从而造成系统内存资源的持续浪费。在C语言中,由于没有自动垃圾回收机制,所有通过 `malloc`、`calloc`、`realloc` 等函数申请的堆内存,都必须由程序员显式调用 `free()` 释放;若忘记 `free`、提前丢失指针(如指针被覆盖或设为 NULL 前未释放)、或异常路径未释放,就极易引发内存泄漏。原创 2026-08-19 00:00:00 · 232 阅读 · 0 评论 -
动态内存分配(Dynamic Memory Allocation)是C语言中在程序运行时(而非编译时)向操作系统申请和释放内存空间的机制
✅ **1. 内存初始化:** - `malloc(size_t size)`:仅分配 `size` 字节的**未初始化内存**(内容为随机垃圾值),使用前必须显式赋值,否则读取将导致未定义行为(UB)。 - `calloc(size_t nmemb, size_t size)`:分配 `nmemb × size` 字节,并**自动将所有字节初始化为0**(即 `memset(ptr, 0, nmemb * size)`)。对基本类型(如 `int`, `char`, `struct`)意味着数值为原创 2026-08-15 00:00:00 · 309 阅读 · 0 评论 -
二叉搜索树(Binary Search Tree, BST)是一种特殊的二叉树数据结构
BST支持高效的基本操作(平均时间复杂度为 O(log n),最坏退化为链表时为 O(n)):- **查找(Search)**:从根开始,比较目标值与当前节点值,小于则向左,大于则向右,等于则命中;- **插入(Insert)**:沿查找路径找到空位置后插入新节点,维持BST性质;- **删除(Delete)**:分三种情况处理——无子节点(直接删)、仅一个子节点(用子节点替代)、两个子节点(用中序前驱或后继替换,再递归删除该前驱/后继);- **中序遍历(In-order Traversal)**原创 2026-08-14 00:00:00 · 36 阅读 · 0 评论 -
链表(Linked List)是一种线性数据结构,其元素(称为节点)在内存中不必连续存储
- **单链表(Singly Linked List)**:每个节点只有一个指向后继节点的指针;- **双链表(Doubly Linked List)**:每个节点有两个指针,分别指向前驱和后继节点;- **循环链表(Circular Linked List)**:尾节点指针指向头节点,形成环状结构。原创 2026-08-18 00:00:00 · 146 阅读 · 0 评论 -
CBAM 是基于场景的软件架构评估方法,它在 SAAM 和 ATAM 的基础上进行了扩展
题14的正确答案是 C. CBAM(Cost-Benefit Analysis Method,成本效益分析方法)。CBAM 是基于场景的软件架构评估方法,它在 SAAM 和 ATAM 的基础上进行了扩展,特别引入了成本建模、效用函数建模和经济效益量化分析,能够将架构决策与商业目标(如预算、投资回报率、风险权衡)直接关联,因此非常适合在预算有限条件下对多个备选架构方案进行性价比(即单位成本带来的质量属性收益)比较与排序。原创 2026-08-16 00:00:00 · 227 阅读 · 0 评论 -
SAAM(Software Architecture Analysis Method)是一种早期的软件架构评估方法
**使用方式**: - 将每个场景映射到架构中对应的构件、连接件及交互路径; - 分析架构是否能直接支持该场景(支持/部分支持/不支持),识别冲突、冗余或缺失的机制; - 汇总结果,形成“场景支持矩阵”,据此判断架构在可修改性等关键质量属性上的优劣(SAAM虽不显式区分质量属性,但实际分析常隐含指向可修改性、功能性等)。原创 2026-08-18 00:00:00 · 102 阅读 · 0 评论 -
在ATAM(Architecture Tradeoff Analysis Method,架构权衡分析方法)中,**权衡点(Tradeoff Point)** 是指某个架构决策对多个质量属性产生相反影响
敏感点(Sensitive Point)是指对某一特定质量属性高度敏感的架构决策(如某模块改动会显著影响可用性),但不必然涉及多属性冲突; 风险(Risk)指可能威胁系统质量属性实现的潜在问题; 非风险(Non-risk)则指无负面影响的良性决策——显然加密带来性能损耗,不属于非风险。综上,答案正确且解释合理。原创 2026-08-14 00:00:00 · 40 阅读 · 0 评论 -
SAST(Static Application Security Testing,静态应用安全测试)是在不执行程序的情况下,通过分析源代码、字节码或二进制文件来识别安全漏洞的白盒测试方法
✅ **SAST 的优势**: - 擅长发现**源码级缺陷**:如硬编码密码、不安全的加密算法(如MD5/SHA1)、未校验的用户输入、危险函数调用(`eval`, `system()`)、资源泄漏(未关闭文件/数据库连接)、不安全的反序列化等; - 可识别**数据流与控制流问题**:例如从HTTP参数到SQL查询的未过滤数据流(潜在SQL注入)、跨信任边界的敏感数据传播(如日志泄露PII); - 支持**早期介入**:在编译前即可扫描,契合DevSecOps左移理念,修复成本低; - 覆盖原创 2026-08-16 00:00:00 · 221 阅读 · 0 评论 -
Fail Secure:正确,故障时进入安全状态(如拒绝所有连接);
选项分析: A. Fail Open:错误,指系统故障时默认开放权限/连接,降低可用性但牺牲安全性; B. Fail Secure:正确,故障时进入安全状态(如拒绝所有连接); C. 最小权限:虽是重要安全原则(只授予必要权限),但不直接描述故障行为; D. 安全默认配置:指初始配置即安全(如关闭非必要端口),但未特指“故障响应机制”。原创 2026-08-18 00:00:00 · 391 阅读 · 0 评论 -
在STRIDE威胁模型中,“E”代表 **Elevation of Privilege(权限提升)**,即攻击者通过某种手段获得超出其原本授权范围的访问权限
- **S** = Spoofing(身份欺骗)→ 违反认证(Authentication) - **T** = Tampering(篡改)→ 违反完整性(Integrity) - **R** = Repudiation(抵赖)→ 违反不可否认性(Non-repudiation) - **I** = Information Disclosure(信息泄露)→ 违反机密性(Confidentiality) - **D** = Denial of Service(拒绝服务)→ 违反可用性(Ava原创 2026-08-19 00:00:00 · 375 阅读 · 0 评论 -
**纵深防御(Defense in Depth)**原则:通过部署多层独立的安全控制机制,即使某一层被突破(如密码被窃取),其他层仍能提供保护,从而降低整体风险
A. 最小权限原则:指用户仅被授予完成任务所必需的最小权限,与认证方式无关; C. 完全中介(Complete Mediation):指每次访问资源时都必须经过安全检查(如每次请求都验证权限),强调“持续授权检查”,不特指多因素认证; D. 失败安全(Fail-Safe):指系统在发生故障时应默认进入安全状态(如认证失败则拒绝访问),虽相关但非本场景核心体现。原创 2026-08-16 00:00:00 · 381 阅读 · 0 评论 -
在SDL(Security Development Lifecycle)安全开发生命周期中,威胁建模(Threat Modeling)确实应在**设计阶段**进行
因此,设计阶段是威胁建模的黄金窗口——兼具**分析可行性**与**整改可行性**,是平衡安全性与工程效率的关键支点。在敏捷开发中,威胁建模需摒弃“一次性、重量级、文档驱动”的传统模式,转为**轻量、持续、嵌入式、协作式**的实践。即使设计文档不完善,也可依托敏捷交付物(如用户故事、原型、API契约、架构草图)开展有效建模。关键策略如下:✅ **1. 以用户故事/功能特性为建模单元** - 每个高风险用户故事(如“用户登录”“支付接口”)进入迭代待办列表(Sprint Backlog)时,同步启动原创 2026-08-17 00:00:00 · 40 阅读 · 0 评论 -
STRIDE威胁建模模型中的“E”(Elevation of Privilege,权限提升),属于授权(Authorization)层面的安全威胁
✅ **3. 关键工程实践** - ✅ **角色-属性映射表(Role-Attribute Binding)**:数据库中维护 `role_id → {attribute_key: attribute_value}` 映射,支持运行时动态扩展(如“审计员角色”自动匹配 `department == "compliance"` 且 `cert_valid == true`)。 - ✅ **策略缓存与同步**:OPA 使用 Bundle API 自动拉取策略;Casbin 支持 DB Adapter 实原创 2026-08-17 00:00:00 · 16 阅读 · 0 评论 -
信息描述了“拒绝服务(Denial of Service, DoS)”这一安全威胁类别,其核心影响是破坏系统的**可用性(Availability)**
这些措施协同作用: - **限流**:防止单个用户或IP过度占用服务资源; - **冗余**:通过多节点部署提升容错与负载分担能力; - **CDN**:缓存静态内容、分散流量、隐藏源站并吸收部分攻击流量; - **WAF**:识别并拦截恶意请求(如HTTP Flood、SQLi等攻击载荷),减轻后端压力。原创 2026-08-17 00:00:00 · 29 阅读 · 0 评论 -
信息安全中的“信息泄露”(Information Disclosure)威胁类型,其影响的是**机密性(Confidentiality)**安全属性
📌 **协同实践建议**: - 混合建模:RBAC定义基础角色框架 + ABAC补充动态条件(如`role=="doctor" AND resource.department=="own" AND time.hour ∈ [8,17]`); - 数据层加固:ReBAC用于关系建模,配合数据库行级安全(PostgreSQL RLS)或应用层查询重写,实现“查询即过滤”; - 审计闭环:所有访问决策日志化,并关联用户行为分析(UEBA),及时发现越权模式。原创 2026-08-17 00:00:00 · 27 阅读 · 0 评论 -
信息安全中“抵赖(Repudiation)”威胁及其对应的安全属性与防护措施的简明对照表
✅ **确保不可抵赖性的关键机制**:- **密钥唯一绑定身份**:通过PKI体系(如CA签发的数字证书),将公钥与真实身份(如企业、个人)权威绑定,防止冒用。- **签名与数据强绑定**:签名运算作用于消息的密码学哈希值(如SHA-256),任何消息篡改都会导致验签失败。- **私钥签名不可复制/转移**:签名过程需私钥参与,且不暴露私钥;即使知道公钥和签名,也无法伪造新消息的有效签名(计算上不可行)。🔐 **依赖的核心密码学假设**:1. **单向陷门函数假设(RSA等)**:给定公钥和签原创 2026-08-14 00:00:00 · 38 阅读 · 0 评论 -
“数据篡改(Tampering)”这一安全威胁,其对应的安全属性是**完整性(Integrity)*
——因哈希值未变,单纯校验无法察觉篡改。- **数字签名的作用**:在哈希基础上叠加**非对称加密认证**: - 发送方先计算消息哈希值,再用**私钥加密该哈希值**(即签名); - 接收方用发送方**公钥解密签名**得到原始哈希,并独立计算接收消息的哈希,二者比对一致才可信。 - ✅ 这不仅验证了数据未被篡改(完整性),更验证了**数据确实来自声称的发送方且未被伪造(认证性+不可抵赖性)**; - ❌ 即使攻击者找到碰撞对,也无法用目标私钥为恶意消息生成有效签名(私钥保密,签名不可伪造)原创 2026-08-18 00:00:00 · 322 阅读 · 0 评论 -
网络安全中“身份欺骗(Spoofing)”威胁类型及其对应的安全控制措施
2. **密码泄露风险高**:大量数据泄露事件(如LinkedIn、Yahoo)导致数十亿密码明文或哈希值外泄;一旦某平台密码泄露,攻击者常尝试“撞库攻击”(Credential Stuffing)在其他平台复用。3. **缺乏抗钓鱼能力**:密码本身无法验证用户是否在合法网站输入——钓鱼页面可轻易诱骗用户提交账号密码,而系统无法识别该会话是否真实。4. **无上下文感知能力**:单一密码认证不考虑登录环境(如异常地理位置、陌生设备、非工作时间),无法动态评估风险并触发额外验证。5. **管理原创 2026-08-13 12:30:00 · 373 阅读 · 0 评论
分享