这是一个挺有意思的问题,很多公司也在面试中问过。挺简单的,不知道大家平时在重置密码的时候有没有想过这个问题。

回答这个问题其实就一句话:因为服务端也不知道你的原密码是什么。存原密码的程序员已经被开了 🤣。
如果服务端知道你的原密码,那就是严重的安全风险问题了。
我们这里来简单分析一下。
这是一个挺有意思的问题,很多公司也在面试中问过。挺简单的,不知道大家平时在重置密码的时候有没有想过这个问题。

回答这个问题其实就一句话:因为服务端也不知道你的原密码是什么。存原密码的程序员已经被开了 🤣。
如果服务端知道你的原密码,那就是严重的安全风险问题了。
我们这里来简单分析一下。
相关面试题:
- 前端做了校验,后端还还需要做校验吗?
- 前端已经做了数据校验,为什么后端还需要再做一遍同样(甚至更严格)的校验呢?
- 前端/后端需要对哪些内容进行校验?
咱们平时做 Web 开发,不管是写前端页面还是后端接口,都离不开跟数据打交道。那怎么保证这些传来传去的数据是靠谱的、安全的呢?这就得靠数据校验了。而且,这活儿,前端得干,后端更得干,还得加上权限校验这道重要的“锁”,缺一不可!
加密算法是一种用数学方法对数据进行变换的技术,目的是保护数据的安全,防止被未经授权的人读取或修改。加密算法可以分为三大类:对称加密算法、非对称加密算法和哈希算法(也叫摘要算法)。
日常开发中常见的需要用到加密算法的场景:
大部分软件开发从业者,都会忽略软件开发中的一些最基础、最底层的一些概念。但是,这些软件开发的概念对于软件开发来说非常重要,就像是软件开发的基石一样。这也是我写这篇文章的原因。
1968 年 NATO(北大西洋公约组织)提出了软件危机(Software crisis)一词。同年,为了解决软件危机问题,“软件工程”的概念诞生了。一门叫做软件工程的学科也就应运而生。
随着时间的推移,软件工程这门学科也经历了一轮又一轮的完善,其中的一些核心内容比如软件开发模型越来越丰富实用!
原文地址:https://juejin.cn/post/7122014462181113887,JavaGuide 对本文进行了完善总结。
我有一个朋友做了一个小破站,现在要实现一个站内信 Web 消息推送的功能,对,就是下图这个小红点,一个很常用的功能。

作者:转转技术团队
JWT (JSON Web Token) 是目前最流行的跨域认证解决方案,是一种基于 Token 的认证授权机制。 从 JWT 的全称可以看出,JWT 本身也是 Token,一种规范化之后的 JSON 结构的 Token。
系统需要对用户输入的文本进行敏感词过滤,如色情、政治、暴力相关的词汇。
敏感词过滤本质上是多模式字符串匹配问题:在一段文本中同时查找多个关键词。
核心结论:
| 算法 | 适用场景 | 特点 |
|---|---|---|
| Trie 树 | 词库规模较小(< 1 万) | 实现简单,易于理解 |
| AC 自动机 | 高吞吐量场景 | 单次扫描匹配所有词,性能最优 |
| 双数组 Trie(DAT) | 大规模词库(> 1 万) | 内存占用低,构建成本高 |
本文转载完善自Hutool:一行代码搞定数据脱敏 - 京东云开发者。
我们来看一下几个非常常见的业务场景:
这些场景往往都要求我们在某个特定的时间去做某个事情,也就是定时或者延时去做某个事情。