【网络安全】一段小笑话学习 加密算法+盐

2023-10-27

催生这篇文章的一个原因是一位讲了半天听不懂原理还不虚心学习的群友。

小笑话

  • 群友
    为啥两个一样的密码一个可以登录一个不可以

  • 群友
    不同用户名

  • 群友
    A账号 B密码 C账号 B密码 居然a能登陆c提示密码错误

  • 群友
    没有改东西


想必大部分人肯定也有这样的经历,就是用数据库新增一个用户的时候,因为加了密所以把现有的账户复制了一条,然后改了用户名,便新增了一个用户。

但是最后发现怎么也登录不了,这是怎么回事呢?

其实原因也很简单,一个很简洁的解释:

说明密码加密算法和用户名有关,比如salt

如果你单看这句话已经明白了,那么你已经掌握了这个知识,如果还不明白,那么继续往下阅读。


加密算法加盐

设计一个满足群友所有条件的实验。

前提条件

假设有两个加密算法 加密算法A 加盐算法SALT

且数据库中存储
用户名A/加密密码B
用户名C/加密密码B

加密算法+盐

盐的加密方法是 加盐算法SALT(用户名)
最终你的加密算法是 加密算法A(明文密码, 加盐算法SALT(用户名))

登录

用户A输入了 明文密码M1
用户A最终加密结果是 加密算法A(明文密码M1, 加盐算法SALT(用户名A))
最终校验通过 加密算法A(明文密码M1, 加盐算法SALT(用户名A)) = 加密密码B

用户C输入了 明文密码M1
加密算法A(明文密码M1, 加盐算法SALT(用户名C))
最终校验不通过 加密算法A(明文密码M1, 加盐算法SALT(用户名C)) != 加密密码B

再把两者的最终结果做对比。

结果

加密算法A(明文密码M1, SLAT(用户名A))
加密算法A(明文密码M1, SLAT(用户名C))

这里的用户A和用户C可以被抽象为“被加盐内容”,最后就可以推出上面说的那句话。

说明密码加密算法和用户名有关,比如salt


思考

以上的实验是在我们知道有加密+盐这样的加密方式的时候,才能马上反应过来的。
当你的思路局限在诸如MD5加密这一种方式的时候,你也不可能考虑到,这会跟用户名有关系。

MD5(明文密码)

那么为什么会有这样的加密方式出现呢?

为什么用?

虽然像MD5这类的摘要算法是没办法反推明文的,但是反着不行就有人发明了彩虹表,将摘要后的结果和原文存储下来,只要摘要结果匹配上,基本上你的原文也就泄露了,当彩虹表达到一定的体量以后,完全可以破解简单的密码。

所以现在又有很多方式去解决这样的问题,例如用如下方式

MD5(MD5(原文))

嵌套多层加密的方式,当然这也是一种方法,但是为了保证密码加密后的唯一性,又有一种加密算法+盐的方式出现,这里的盐尽量的唯一,可以最大程度的保证密码的唯一性。

当然方法有很多,加密方式你可以按自己的方式随意组合,你要保证的是加密算法的保密性。


总结

  • 加密算法+盐 = 加密算法(被加密字内容, 加盐算法(被加盐内容))
  • 加密算法中加的盐不同,产出结果不同。
  • 一线开发人员依旧对简单的加密算法没有概念。

参考资料


文章中出现的任何错误欢迎指正!共同进步!

最后做个小小广告,有对WEB开发和网络安全感兴趣的,可以加群一起学习和交流!

交流群
QQ:425343603

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【网络安全】一段小笑话学习 加密算法+盐 的相关文章

  • 命令执行漏洞挖掘技巧分享

    1 1 前言 1 第三方开源通用框架 第三方类库的使用 如Struts Jenkins等 2 业务逻辑处理直接拼接用户可控参数区执行系统命令或者拼凑回调函数代码 中途无任何安全过滤比如说 应用有时需要调用一些执行系统命令的函数 如PHP中的
  • 网安入门须知:注释的危害居然这么大?——注释漏洞导致的信息泄露

    隔壁大娘收到了一条匿名短信 里面记录了大娘跟隔壁老王的开房记录 并勒索二百五十块巨款 大娘略加思索后 便提着刀冲到狗剩家门口 一刀砍在门口的卷帘门上 隔壁大娘 狗剩 你给我出来 注释导致的信息泄露 一 什么是信息泄露漏洞 二 信息泄露有什么
  • [网络安全自学篇] 四十五.病毒详解及批处理病毒原理分析(自启动、修改密码、定时关机、蓝屏、进程关闭)

    这是作者的网络安全自学教程系列 主要是关于安全工具和实践操作的在线笔记 特分享出来与博友们学习 希望您们喜欢 一起进步 前文分享了Windows远程桌面服务漏洞 CVE 2019 0708 并详细讲解该漏洞及防御措施 这篇文章将讲解简单的病
  • 【网络安全】一段小笑话学习 加密算法+盐

    催生这篇文章的一个原因是一位讲了半天听不懂原理还不虚心学习的群友 小笑话 群友 为啥两个一样的密码一个可以登录一个不可以 群友 不同用户名 群友 A账号 B密码 C账号 B密码 居然a能登陆c提示密码错误 群友 没有改东西 想必大部分人肯定
  • 常用的PHP命令执行函数及利用方式

    PHP命令执行函数常配合代码执行漏洞使用 利用命令执行函数执行操作系统命令 从而发起攻击 接下来就简单分享几个常用的PHP命令执行函数 system system 函数可以执行系统命令 并将命令执行的结果直接输出到界面中 使用时直接在参数中
  • DVWA-BruteFoce高级安全

    DVWA security high GET包结构 比起来之前low medium等级 可以看到这里多了一个参数 user token 为了防止重放攻击 但是明显能看出来user token就是用户输入密码的md5形式 直接用burpsut
  • ARP协议详解,ARP协议执行原理、ARP协议如何根据IP地址寻找Mac地址?

    作者主页 士别三日wyx 作者简介 CSDN top200 阿里云博客专家 华为云享专家 网络安全领域优质创作者 ARP协议 一 什么是ARP协议 1 Mac地址 2 网络层的数据 3 ARP协议 二 ARP协议执行原理 1 局域网内 2
  • 漏洞复现之CVE-2015-1635-HTTP.SYS远程执行代码漏洞(ms15-034)

    1 1 1 漏洞描述 在2015年4月安全补丁日 微软发布的众多安全更新中 修复了HTTP sys中一处允许远程执行代码漏洞 编号为 CVE 2015 1635 MS15 034 利用HTTP sys的安全漏洞 攻击者只需要发送恶意的htt
  • Apache Druid远程代码执行漏洞复现(CVE-2021-25646)

    Apache Druid远程代码执行漏洞复现 CVE 2021 25646 漏洞描述 Apache Druid包括执行用户提供的JavaScript的功能嵌入在各种类型请求中的代码 此功能在用于高信任度环境中 默认已被禁用 但是 在Drui
  • 高级程序员解决问题的思维模式和普通程序员的区别在哪里?

    作者主页 士别三日wyx 先给你出一道题 看你会如何思考 假设你是一个程序员 常年保持自学和超长工作时长的状态 承受着不为人知的压力和痛苦 面对同行程序员的攀比和压力 在公司title 年薪 房子之间深陷 35岁大限越来越近 头顶日愈清凉
  • 逻辑漏洞之越权、支付漏洞

    目录 逻辑漏洞 Web安全渗透三大核心方向 输入输出 登录体系 权限认证 业务逻辑漏洞分类 1 登录体系安全 暴力破解 cookie安全 加密测试 登录验证绕过 任意注册 2 业务一致性安全 手机号篡改 邮箱和用户名更改 订单ID更改 商品
  • DVWA靶场之XSS通关详解

    原理 XSS漏洞是攻击者将恶意代码注入到合法网页中 当用户浏览该页面时 恶意代码会被执行 从而获取用户敏感信息或进行其他攻击 形成原因 网站对用户输入数据的过滤不严格或不完备 攻击者可以根据这个漏洞向网站提交恶意代码 然后再将这些代码传播给
  • IIS7.0、7.5解析漏洞利用

    IIS7 0 7 5解析漏洞利用 1 测试漏洞是否可用 2 WebShell制作 3 上传WebShell 4 连接WebShell 1 测试漏洞是否可用 网站任意图片地址后加 脚本类型 若出现编译错误 则漏洞存在 2 WebShell制作
  • [网络安全自学篇] 四十一.中间人攻击和ARP欺骗原理详解及防御机理

    这是作者的网络安全自学教程系列 主要是关于安全工具和实践操作的在线笔记 特分享出来与博友们学习 希望您们喜欢 一起进步 前文分享了一个phpMyAdmin 4 8 1版本的文件包含漏洞 从配置到原理 再到漏洞复现进行讲解 本文将带大家学习千
  • 《计算机组成原理》BCD码 8421编码原理剖析

    作者主页 士别三日wyx BCD码 1 BCD码的作用 2 BCD码的转换原理 3 8421编码 3 1 8421编码的权重划分 3 2 8421编码的加法运算 3 3 8461编码的加6修正 1 BCD码的作用 首先问大家一个问题 计算机
  • ❤️DDOS攻击详解❤️——万物互联时代的巨大威胁!安全领域最棘手的问题之一

    DDOS全称Distributed Denial of Service 翻译成中文是 分布式拒绝服务 DDOS攻击是安全领域最难解决的问题之一 由于其攻击方式的特殊性 始终没有一个完美的解决方案 随着万物互联时代的临近 网络设备的数量呈指数
  • [网络安全自学篇] 三.Burp Suite安装配置、Proxy基础用法及流量分析示例

    最近开始学习网络安全相关知识 接触了好多新术语 感觉自己要学习的东西太多 真是学无止境 也发现了好几个默默无闻写着博客 做着开源的大神 接下来系统分享一些网络安全的自学笔记 希望读者们喜欢 上一篇文章分享了Chrome浏览器保留密码功能渗透
  • [网络安全自学篇] 八.Web漏洞及端口扫描之Nmap、ThreatScan和DirBuster原理详解

    Web渗透技术的核心是发现Web漏洞 发现漏洞有手工和软件自动化扫描两种方式 对于用户验证漏洞 用户凭证管理问题 权限特权及访问控制漏洞 缓存漏洞 跨站脚本漏洞 加密漏洞 路径切换漏洞 代码注入漏洞 配置漏洞 数据和信息泄露 输入验证码漏洞
  • [网络安全自学篇] 二十七.Sqlmap基础知识、CTF实战及请求参数设置(一)

    这是作者的系列网络安全自学教程 主要是关于网安工具和实践操作的在线笔记 特分享出来与博友共勉 希望您们喜欢 一起进步 前文分享了Shodan搜索引擎的基本用法及Python命令行 本篇文章详细讲解了Sqlmap的基本用法 CTF实战 并且分
  • 鉴源论坛 · 观模丨浅谈Web渗透之信息收集(下)

    作者 林海文 上海控安可信软件创新研究院汽车网络安全组 版块 鉴源论坛 观模 社群 添加微信号 TICPShanghai 加入 上海控安51fusa安全社区 信息收集在渗透测试过程中是最重要的一环 浅谈web渗透之信息收集 将通过上下两篇

随机推荐

  • 回形数的思路,规律及输出代码(数组章节即学即练)

    整体思路图 规律解释及代码 package shuzu import java util Scanner public class shuzu public static void main String args 回形数整体思路 步骤 1
  • 如何修改容docker容器的shmsize共享内存大小

    很多同学在docker里面运行程序时会得到这样的错误 RuntimeError DataLoader worker pid 6209 is killed by signal Bus error It is possible that dat
  • uniapp引入uview组件库

    uniapp引入uview组件库 引言 引入方法 引言 新学期又双叒开始了 一看学校的教程要求少不了得做个小的demo为最后的课程设计做准备的 通常这个课程设计是比较花时间的 所以这次决定提前准备 毕竟都大三了 估计下学期就得去图书馆 坐牢
  • QT中的文件操作

    QT中的文件操作基于QFile类 1 打开文件 open bool open File fh QIODevice OpenMode mode QFileDevice FileHandleFlags handleflags DontClose
  • PCB相关知识-焊盘Pad

    文章目录 焊盘Pad 常规焊盘Reguar Pad 热焊盘Thermal Pad 隔离焊盘Anti Pad 总结 焊盘Pad 焊盘就是元器件封装中的引脚 在实际应用中使用焊锡将电阻 电容 电感 芯片等元器件的引脚和焊盘Pad连接在一起 电气
  • DeepSort算法简介

    SORT算法 SORT Simple Online and Realtime Tracking 算法是一种目标追踪算法 其简单有效 基于IOU来匹配 并且融入了卡尔曼滤波和匈牙利算法来降低ID Switch 可以说 追踪算法的目标只有两个
  • 内核态do_gettimeofday()、用户态gettimeofday()获取指令执行时间

    背景 芯片开发阶段 有个硬件有个配置一直无法生效 后面发现是软件写入使能还未能生效 硬件就开始配置了 导致不成功 加个延时就可解决 只是知道应该在纳秒级别 但具体十位还是百位级别 不太清楚了 所以就让我搞个代码测试下 写入一次寄存器需要的时
  • 瞎写

    1 小时候爱情就是一切 长大了 爱情变成可有可无的东西 就如同饭菜 有它 饭更香 没有它 饭还是饭 饿了也得吃下去 2 我想滚蛋 在这儿真的是学无所学 我都想自己开始创业 真的对不起老板给的这份工资 整天无所事事 3 不是合适不合适的问题
  • C语言图书馆管理系统

    C语言图书馆管理系统 全部代码如下 include
  • 异步Windows Socket包装,包括TCP与UDP,可处理粘包

    头文件 struct IPAddress union struct IPV4Address ULONG host USHORT port address UINT64 64 static IPAddress Zero ULONG GetHo
  • SteamVr、VRTK配置

    版本 SteamVr 1 2 3 VRTK 3 3 0 Unity 2019 4 28f1c1 VRTK配置 新建空对象 命名为SDKManager 添加VRTK SDK Manager 脚本 作用 管理各种VRSDk 在SDKManage
  • Android高德地图marker自定义弹框窗口

    最终效果 1 gradle里添加高德地图依赖 implementation com amap api map2d latest integration 2d地图功能 implementation com amap api location
  • 前端基础篇之 CSS 世界

    前端基础篇之 CSS 世界 基本概念 这些基本概念有些可能不易理解但却都很重要 如果看完还是很不理解的话需要自己谷歌或百度 网上关于这些概念的文章不少 流 流 又叫文档流 是 css 的一种基本定位和布局机制 流是 html 的一种抽象概念
  • 【pandas】to_datetime函数简单使用

    该函数将给定参数args转换为日期格式 需要传入参数format指定args的格式 注意format中年用Y表示 月和天用小写的m和d表示 pd to datetime 20220517 format Y m d gt gt gt Time
  • sweetalert2中ajax用法,SweetAlert2 使用教程

    SweetAlert2是一款功能强大的纯Js模态消息对话框插件 SweetAlert2用于替代浏览器默认的弹出对话框 它提供各种参数和方法 支持嵌入图片 背景 HTML标签等 并提供5种内置的情景类 功能非常强大 SweetAlert2是S
  • ChatGPT 全面解析

    ChatGPT问世 12月1日 美国人工智能公司OpenAI在网页上推出自然语言处理领域 NLP 的模型ChatGPT 它能够通过对话方式进行交互 并根据用户输入的自然语言文本内容 自动生成新的文本内容 一周内 ChatGPT的用户已突破1
  • 写每个程序员的第一个代码--Hello World程序

    1 首先创建一个文本文档 并输入以下代码 public class HelloWorld public static void main String args System out println Hello World 2 然后对程序重
  • 五子棋游戏(Java编写)双人对赛

    目录 1 游戏准则 2 游戏细节 代码如下 运行结果 bug测试 棋子重复 棋子越界 1 游戏准则 黑子白子依次下棋 不能重复 也不能越界 若违规 则重新下棋 判断输赢 判断各方向是否五个棋子连在一起 若有则胜 若无 则败 2 游戏细节 白
  • Docker 进行 apt 等操作时无法连接源

    Docker 进行 apt 等操作时无法连接源 重启 Docker 参考文章 sudo service docker restart or sudo etc init d docker restart
  • 【网络安全】一段小笑话学习 加密算法+盐

    催生这篇文章的一个原因是一位讲了半天听不懂原理还不虚心学习的群友 小笑话 群友 为啥两个一样的密码一个可以登录一个不可以 群友 不同用户名 群友 A账号 B密码 C账号 B密码 居然a能登陆c提示密码错误 群友 没有改东西 想必大部分人肯定