A.原子性 即一个操作或者多个操作,要么全部执行并且执行的过程不会被任何因素打断,要么就都不执行。原子性确保对共享资源的操作不会被其他线程干扰,从而避免数据不一致性(如竞态条件) 本质​​:原子性依赖于硬件和编译器的支持,例如CPU的原子指令(如x86的LOCK前缀)或编译器生成的原子操作代码,确保操作在底层不可分割。 一个很经典的例子就是银行账户转账问题: 比如从账户A向账户B转1000元,那么必然包括2个操作:从账户A减去1000元,往账户B加上1000元。试想一下,如果这2个操作不具备原子性,会造成什么样的后…

2025年5月19日 0条评论 231点热度 1人点赞 MuWinds 阅读全文

有两个人 A 和 B。 A 通过网络向 B 发送一条消息。B 收到了之后,怎么确认: 1.这条消息没有被中间人篡改过 2.这条消息确实来自于 A,而不是某个 C 伪造出来的 答案就是使用 MAC。A 在发送消息时,计算出该消息的 MAC 值,并将其一起发送给 B。B 收到之后,便可以根据 MAC 确认 1 和 2. 直接出公式:MAC = 散列 + 对称密钥 也就是说,消息验证码 MAC 是散列技术和对称密钥技术的联合使用。 首先说散列,散列的作用是防篡改。 任何一段消息,不管有多长,都可以通过一个散列算法计算出一…

2025年5月2日 0条评论 174点热度 0人点赞 MuWinds 阅读全文

 Oauth2.0 定义了几种授权流程,其中最重要、也最基础的是 Authorization Code 授权。先看流程图:   1,用户访问 A 网站   2,A 打开 B 的授权页面   3,用户看到授权界面,输入账号密码进行授权   4,B 验证用户是合法的之后,生成一个 authorization code,然后通过 302 跳转的方式,把这个 code 发送给 A   5,A 用这个 code 调用 B 的 api,获得 access token   6,A 用 access token…

2025年5月2日 0条评论 313点热度 0人点赞 MuWinds 阅读全文
12