小白都能看懂的目前主流加密MD5验签
1, 首先要知道MD5 是一个什么东西
简单的说就是就是取模, 比如, 10 % 2, 余零, 2 想得出10, 就很难, 你只能猜.
现在有一个字符串 abcd, 下面都是假设
假设 a = 1, b = 2, c = 3, d = 4,
相加 1 + 2 + 3 + 4 = 10,
我们的MD5 算法就是相加%2,
那么这段字符串的MD5 值就是 0现在你只知道, abc 和 md5 = 0 你能推算出 我们的d嘛?
想知道, 得先知道我们的md5规则
然后再一个个去假设d的值, md5 的值是不是零
当然真实的MD5算法不是像上面假设的这么简单这个d就是我们的私钥, 验签者把 abc 和 md5 给我们, 我们把 d 私钥 加在后面, 在和md5去比较, 很轻松的就能验证参数有没有被修改, 是不是我们系统加密下发的.
安全问题, abc 和 md5 其中任何一个参数被修改, 验签就是通不过的
2 形象的描述一下
用户A的鸡蛋
用户b的鸡蛋
- MD5 算法做的就是, 把我们的参数和私钥打包成一个鸡蛋壳
- 然后把鸡蛋中的私钥拿走, 把剩余的鸡蛋壳给你
- 你下次拿这剩余的鸡蛋来, 我把私钥填进去, 就知道这个鸡蛋是不是我给你的了
- 每个用户的id不一样, 所以鸡蛋的分割是不一样的, 但真实的md5加密应该是具有顺序的, 鸡蛋里面还可以放版本, 使用不同的私钥
很有意思的问题
- 上面的鸡蛋, 如果我知道了所有其他的参数, 不是就知道了私钥了
- 没有错, 这就说明你的私钥被破解了, 但真实的MD5是没有边界的, 你是不知道这个鸡蛋里面的分布, 也不知道这个私钥块有多大, 他们都是字符, 数学关系, 只能不断的排列, 不断的推算私钥, 暴力破解
小白都能看懂的目前主流加密MD5验签相关推荐
- 随机森林的特征 是放回抽样么_机器学习超详细实践攻略(10):随机森林算法详解及小白都能看懂的调参指南...
一.什么是随机森林 前面我们已经介绍了决策树的基本原理和使用.但是决策树有一个很大的缺陷:因为决策树会非常细致地划分样本,如果决策树分得太多细致,会导致其在训练集上出现过拟合,而如果决策树粗略地划分样 ...
- 小白都能看懂的实战教程 手把手教你Python Web全栈开发(DAY 3)
小白都能看懂的实战教程 手把手教你Python Web全栈开发 Flask(Python Web)实战系列之在线论坛系统 第三讲 这是小白都能看懂的实战教程 手把手教你Python Web全栈开发 的 ...
- c语言程序和plc程序的区别,一文告诉你PLC与计算机的本质区别在哪里!小白都能看懂!...
原标题:一文告诉你PLC与计算机的本质区别在哪里!小白都能看懂! 你真的了解PLC吗?你知道PLC与计算机的本质区别吗?我来简单解释一下吧. 1.PLC可以工作在极其恶劣的电磁环境中 如果我们把计算机 ...
- 小白都能看懂的实战教程 手把手教你Python Web全栈开发(DAY 1)
小白都能看懂的实战教程 手把手教你Python Web全栈开发 Flask(Python Web)实战系列之在线论坛系统 第一讲 博主博客文章内容导航(实时更新) 更多优质文章推荐: 收藏!最详细的P ...
- 红色买绿色出 简单易操作的买卖点公式 散户小白都能看懂
好久没来csdn了,在最初,CSDN是用来记录我做前端写的笔记,后面在工作期间,接触了产品,就转岗了,慢慢的,csdn就很少写了,但是我觉得这里可以作为我记录心得的一个地方,还是挺好的. 因为产品规划 ...
- 兄弟,用大白话告诉你小白都能看懂的Hadoop架构原理
本文来自:石杉的架构笔记 目录 一.前奏 二.HDFS的NameNode架构原理 一.前奏 Hadoop是目前大数据领域最主流的一套技术体系,包含了多种技术. 包括HDFS(分布式文件系统),YARN ...
- 兄弟,用大白话给你讲小白都能看懂的分布式系统容错架构
点击上方"蓝字", 右上角选择"设为星标" 周一至周五早11点半!精品文章准时送上! 本文来自石杉的架构笔记 目录 (1)TB级数据放在一台机器上:难啊! (2 ...
- 小白都能看懂的关于Mixins机制的理解
前言 在学习Flutter源码的时候,看到各种复杂的mixin和on,为了便于后续Flutter的学习,这里有必要一起来份详细Dart 的 Mixin机制. 什么是mixins 首先看看官方文档的 ...
- 黑苹果电池电量补丁_小白都能看懂的DSDT电量显示补丁教程
[TOC] 简介 知识储备DSDT 正则匹配(不懂就依葫芦画瓢) 背景 由于普通PC的电池设备并不兼容与苹果的SMbus设备,所以,对于黑苹果,只能够通过ACPI来获取电池状态.为了解决电量显示我可是 ...
最新文章
- pytorch android
- 【机器视觉学习笔记】双边滤波算法(C++)
- C/C++的64位整型
- java treetable_在Swing中创建TreeTable | 学步园
- 2017初级计算机试题,计算机基础知识试题(卷)与答案解析 2017年.doc
- python添加自定义模块_Python中添加自定义模块的方法
- [转载] 【Python】bytes数据类型
- 《移动App测试实战》——1.4 本章小结
- hbase java 分页查询_HBase伪快速分页查询
- background-size失效
- 【Java】编程思想汇总ing
- Java根据城市拼音首字母排序并进行分组
- 商业银行数字化转型的难点与路径
- 英语口语必备900句
- 申请Apple ID--通过苹果官网申请
- shel脚本中批量替换文件名
- pytest--之测试报告allure配置
- python modis数据拼接_python调用HEG工具批量处理MODIS数据的方法及注意事项
- Flash鼠绘入门第四课:绘制漂亮的梅花-梅花骨朵Flash鼠绘方法
- #JSP#Tomcat下使用JSP调用JavaBean显示ClassNotFoundException
热门文章
- win10安装pytorch
- caffe FCN网络的训练——以SIFT-Flow 数据集为例
- tensorflow 1.0 学习:参数和特征的提取
- 傅立叶变换—FFT(cuda实现)
- matlba 正交基
- 青龙面板多容器教程、一键多容器
- 计算机安全模式无法进入安全模式,如何解决无法在Windows 10中进入安全模式的问题...
- html左右飘窗高度不一致,飘窗的最佳尺寸,你可知道?不懂的留着吧!
- linux系统信号控制进程的重启,Linux系统中的信号(进程间通信)及其含义
- pythonif语句缩进_Python中多行IF语句缩进的代码样式?