当前位置: 首页 > news >正文

网站登录加密:加密内容、作用、完整流程(通俗 + 技术拆解)

目录

一、先搞清楚:登录时到底加密了哪些数据?

1. 核心加密:用户原始明文密码(最关键)

2. 常见附加加密 / 参与运算的数据

二、登录常用加密 / 签名算法(区分「加密」和「哈希」)

1. 主流算法分类 & 用途

(1)单向哈希算法(最常用,不可逆,主流登录方案)

(2)对称加密(可逆,较少单独用)

(3)非对称加密(RSA 最经典,HTTPS + 登录双重保障)

三、每种加密方式的核心作用

1. 为什么非要加密密码?(底层目的)

2. 盐值(Salt)的作用

3. 时间戳 + 随机串(Nonce)的作用

4. RSA 非对称加密的作用

5. HMAC 带密钥哈希的作用

四、3 套真实行业主流登录完整流程(从简单到高安全)

场景一:最简单方案(MD5 加盐,中小型网站 / 旧系统)

适用:普通论坛、小官网、小型后台

完整步骤:

优缺点

场景二:标准主流方案(动态盐 + 时间戳 + SHA256/HMAC,现在最多网站用)

适用:电商、APP、主流资讯站、企业系统

完整流程:

这套方案的优势

场景三:最高安全方案(RSA 非对称加密 + HTTPS + 双层防护,金融 / 银行 / 政务 / 大厂)

适用:网银、支付、证券、企业核心后台、涉密系统

完整流程:

为什么这么设计?

五、关键补充知识点(避坑 + 常见疑问)

1. 哈希 ≠ 加密?为什么登录不用可逆加密?

2. 浏览器抓包能看到什么?

3. 前端加密安全吗?会不会被 JS 逆向破解?

4. HTTPS 已经加密了,为什么还要单独加密密码?

六、一句话总结整套逻辑


网站登录加密核心目标:防明文抓包、防密码泄露、防中间人劫持、防重放攻击,下面分「加密什么、用什么算法、完整流程、每种加密的作用」一步步讲透。

一、先搞清楚:登录时到底加密了哪些数据

正常登录请求里,不会只加密密码,分必加密项辅助加密项

1. 核心加密:用户原始明文密码(最关键)

用户在输入框填的123456、abc123这类原始密码,绝对不能直接传给服务器,这是加密第一目标。

2. 常见附加加密 / 参与运算的数据

根据网站安全等级不同,会追加参数一起加密:

  • 用户名 / 账号:部分站点把账号 + 密码拼接后整体加密
  • 随机盐值(Salt):服务端下发的临时随机字符串(高频)
  • 时间戳(Timestamp):当前时间(防重放攻击必备)
  • 随机串(Nonce / 随机数):前端本地生成或后端下发的一次性随机串
  • 设备 ID、浏览器标识、请求序号:高安全站点(金融、后台、APP)会加

总结:绝大多数场景 =明文密码 + 盐值 + 时间戳做加密 / 签名。


二、登录常用加密 / 签名算法(区分「加密」和「哈希」)

很多人混淆加密(可解密)哈希摘要(不可逆),登录场景99% 用不可逆哈希 / 签名,很少用可逆加密。

1. 主流算法分类 & 用途

(1)单向哈希算法(最常用,不可逆,主流登录方案)

特点:加密后无法还原出原始密码,只做「比对校验」

  • MD5:老牌、速度快,现在单纯 MD5 不安全,基本都会加盐使用
  • SHA1 / SHA256 / SHA512:安全强度更高,现在主流网站首选
  • HMAC-SHA256/HMAC-MD5带密钥的哈希,安全性远高于普通哈希,大厂、金融站标配
(2)对称加密(可逆,较少单独用)

AES、DES、3DES:加密后可以解密。 一般不单独加密密码,多用于「传输密钥」,搭配哈希使用。

(3)非对称加密(RSA 最经典,HTTPS + 登录双重保障)

RSA:公钥加密、私钥解密。 高安全站点流程:前端用服务端公钥加密密码 / 哈希结果,后端用私钥解密。


三、每种加密方式的核心作用

1. 为什么非要加密密码?(底层目的)

  1. 防止抓包窃听用 Fiddler、Charles、浏览器开发者工具抓包,看不到原始密码,就算数据包被截获也没用。
  2. 防止数据库拖库泄露就算网站数据库被攻破,黑客拿到的也是哈希串,还原不出真实密码
  3. 防止中间人攻击公共 WiFi、代理环境下,别人拦截不到明文账号密码。

2. 盐值(Salt)的作用

  • 避免彩虹表破解:相同密码,加不同盐值,哈希结果完全不一样。
  • 就算两人密码都是123456,加盐后密文互不相同。

3. 时间戳 + 随机串(Nonce)的作用

防重放攻击: 黑客截取一次合法登录数据包,反复重发尝试登录。 因为时间戳 / 随机串每次都变,旧密文会直接失效。

4. RSA 非对称加密的作用

  • 公钥公开给前端,所有人都能用来加密;
  • 只有服务端持有私钥,只有服务器能解密
  • 全程密钥不传输,杜绝密钥泄露。

5. HMAC 带密钥哈希的作用

相当于「哈希 + 内置密钥」,比单纯 MD5/SHA 多一层密钥防护,破解难度指数上升。


四、3 套真实行业主流登录完整流程(从简单到高安全)

中小型网站 → 中型平台 → 金融 / 大厂高安全站点分三套,覆盖 99% 互联网场景。

场景一:最简单方案(MD5 加盐,中小型网站 / 旧系统)

适用:普通论坛、小官网、小型后台

完整步骤:
  1. 用户操作前端输入:用户名user01+ 明文密码123456,点击登录。

  2. 前端处理(加密)前端拼接字符串:明文密码 + 固定盐值示例:123456 + abcdef123对拼接结果做MD5 哈希,得到密文e10adc3949ba59abbe56e057f20f883e

  3. 前端发请求传给后端参数:username=user01&password=e10adc3949ba59abbe56e057f20f883e

  4. 后端校验

    • 后端取出数据库中该用户预存的密码哈希值(数据库绝不存明文);
    • 对比「前端传过来的密文」和「数据库存储的密文」;
    • 一致 = 登录成功,不一致 = 密码错误。
优缺点
  • 优点:简单、性能高、开发成本低
  • 缺点:盐值写死在前端 JS,可被逆向找到;无时间戳,存在重放风险。

场景二:标准主流方案(动态盐 + 时间戳 + SHA256/HMAC,现在最多网站用)

适用:电商、APP、主流资讯站、企业系统

核心升级:盐值不再固定,每次登录后端下发新盐 + 时间戳防重放

完整流程:
  1. 前置请求:获取临时参数用户打开登录页 / 调出登录框,前端先请求后端接口/getLoginParams后端返回:

    • 临时随机盐salt = x9s2k7gq(每次登录都不一样)
    • 当前时间戳timestamp = 1718900000
    • 可选:随机串nonce = 87654321
  2. 前端拼接 + 哈希加密规则示例:密码 + 盐值 + 时间戳 + nonce对拼接串执行SHA256 / HMAC-SHA256,生成最终签名串sign

  3. 前端提交登录请求提交参数:username=xxx&sign=xxx&timestamp=xxx&nonce=xxx不再传输原始密码

  4. 后端校验逻辑(三步)

    1. 校验时间戳:判断是否过期(比如超过 30 秒直接拒绝,防重放);
    2. 相同规则:取出该用户数据库密码哈希 + 本次盐值 + 时间戳,重新计算sign
    3. 前后 sign 一致 → 登录成功。
这套方案的优势
  • 动态盐:单次有效,逆向拿到 JS 也没用;
  • 时间戳:数据包过期,重放攻击失效;
  • SHA256/HMAC:哈希强度远高于 MD5。

场景三:最高安全方案(RSA 非对称加密 + HTTPS + 双层防护,金融 / 银行 / 政务 / 大厂)

适用:网银、支付、证券、企业核心后台、涉密系统

逻辑:HTTPS 做通道加密 + RSA 单独加密密码,双重保险

补充:所有网站现在都走 HTTPS(传输层加密),但 HTTPS 只防链路窃听,前端源码里仍能看到加密规则,所以业务层还要再加一层登录加密。

完整流程:
  1. 页面加载,前端请求后端获取 RSA 公钥(公钥公开,所有人可见)。

  2. 用户输入账号、明文密码。

  3. 前端加密用拿到的RSA 公钥原始明文密码进行加密,得到 RSA 密文。 (RSA 是可逆加密,但只有服务端私钥能解密)

  4. 前端组装参数:账号 + RSA 密文密码 + 时间戳 + 随机串,通过HTTPS发送请求。

  5. 链路层:HTTPS 再次加密整个请求包,全程链路密文传输。

  6. 后端解密 + 校验

    1. 后端用自己RSA 私钥解密密文,还原出用户原始密码;
    2. 后端将原始密码 + 数据库盐值,计算哈希;
    3. 和数据库存储的密码哈希对比,完成登录校验。
为什么这么设计?
  1. HTTPS:防链路抓包、中间人窃听;
  2. RSA 公钥加密密码:就算前端 JS 被逆向、页面被篡改,没有私钥也解不出密码;
  3. 时间戳 / 随机串:杜绝重放攻击;
  4. 数据库依然只存哈希,就算库泄露,密码依旧安全。

五、关键补充知识点(避坑 + 常见疑问)

1. 哈希 ≠ 加密?为什么登录不用可逆加密?

  • 可逆加密(AES/RSA):能解出原文。如果后端数据库存加密后的密码,一旦密钥泄露,全量密码直接被破解。
  • 单向哈希(MD5/SHA)不可逆。数据库只存哈希摘要,这是行业标准规范。

结论:密码永久只存哈希,不存明文、不存可逆密文

2. 浏览器抓包能看到什么?

  • 加密做得规范:抓包只能看到哈希串 / RSA 密文、时间戳、盐值,看不到原始密码;
  • 完全不加密:抓包直接看到password=123456,极度危险。

3. 前端加密安全吗?会不会被 JS 逆向破解?

  • 前端加密不是为了防用户 / 逆向,核心是防链路抓包、防简单窃取
  • 真正防破解靠:动态盐、时间戳、RSA、接口时效性、风控拦截;
  • 纯前端固定 MD5(无盐、无时间戳)= 形同虚设。

4. HTTPS 已经加密了,为什么还要单独加密密码?

HTTPS 是传输通道加密,只保证「路上不被窃听」:

  • 攻击者拿到用户电脑 / 劫持前端页面,就能看到明文密码;
  • 业务层密码加密,是应用层防护,双重兜底。

六、一句话总结整套逻辑

  1. 加密内容:核心是用户明文密码,搭配盐值、时间戳、随机串一起运算;
  2. 核心作用:防抓包、防彩虹表、防拖库泄露、防重放攻击;
  3. 通用流程: 前端获取动态参数 → 按规则对密码做哈希 / RSA 加密 → 提交密文给后端 → 后端同规则验算 / 解密 → 比对完成登录。
http://www.rkmt.cn/news/1526928.html

相关文章:

  • 开源的游戏开发智能体,一段文字描述生成个游戏,整个过程不需要写一行代码
  • MPC852TADS开发板硬件配置与快速上手指南
  • Java反编译中文乱码?这锅到底谁来背?我忍你很久了
  • 2026深港全屋定制可以先出设计图再付定金的公司有哪些?从行业规范看如何规避定金风险
  • 3个隐藏技巧解锁NCM音乐自由:ncmdump终极完整指南
  • 118、Sensor 驱动时序调试:Power On和Off Sequence、Stream On和Off 的寄存器时序
  • 2026年当前曲靖市麒麟区AirPods实体苹果店选哪家?这份专业分析给你答案 - 品牌鉴赏官2026
  • Effective C++ 条款32:确定你的 public 继承塑模出 is-a(是一种)关系
  • 119、Sensor 驱动的 I2C 读写封装:Burst Read、连续写入与 Page 寄存器的处理
  • python ide for linux Linux上Python IDE就选Wing Pro?轻量却强大到让你尖叫
  • 如何一键获取九大网盘真实下载地址?LinkSwift全场景指南
  • 法考背诵资料pdf|背诵|资料已整理
  • 一站式音乐聚合革命:如何用智能音源打通全平台壁垒
  • 如何快速搭建个人云游戏平台:Sunshine游戏串流终极完整教程
  • 抖音下载器技术深度解析:从无水印下载到批量处理的完整解决方案
  • 如何彻底解决Windows 11文件资源管理器窗口混乱问题:终极标签管理指南
  • 法考系统强化内部讲义2026|系统强化|资料已整理
  • Sunshine终极指南:如何免费搭建你的个人云游戏服务器
  • 认准报喜鸟【2026街坊私藏】清远管道疏通六强诚信榜:不坐地起价、不暴力施工、30分钟上门、一口价明码 - 极速版本
  • Python PDF处理终极指南:5分钟掌握PyPDF核心功能
  • 法考主观题答题模板|主观题模板|资料已整理
  • MPC8260 MCC全局发送欠载(GUN)错误诊断与恢复实战指南
  • 全志开发环境搭建及编译构建
  • 从SpeexDSP迁移到WebRTC 3A:我们团队踩过的坑和性能提升实测(附代码对比)
  • 2026年6月靠谱的短途叉运公司哪家好推荐,精密设备搬运、工厂整体搬迁、重型设备移位服务商选择指南 - 海棠依旧大
  • 终极指南:如何构建高效的微信好友安全检测系统 - 从传统协议模拟到Hook技术的完整演进
  • AI 辅助代码生成质量评估与自动审查:从“能用就行“到“工程级可靠“
  • 国内制冷快商用冷柜批发厂家实力排行盘点 - 互联网科技品牌测评
  • 医疗数据合规:电子病历作为特殊电子合同的法律认定标准
  • 宴会餐厅厨用设备厂家排行 实测性能与服务对比 - 互联网科技品牌测评