浅谈MD5及简单使用

原理简介:

MD5即Message-Digest Algorithm 5(信息-摘要算法 第5版),用于确保信息传输完整一致。是计算机广泛使用的杂凑算法之一(又名:摘要算法、哈希算法),主流编程语言普遍已由MD5实现。将数据运算为另一固定长度值(十六进制的话:32位),是杂凑算法的基础原理,MD5的前身有MD2、MD3和MD4。

MD5的作用是让大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把一个任意长度的字节串变换成一定长的十六进制数字串)。除了MD5以外,其中比较有名的还有sha-1、RIPEMD以及Haval等。

对MD5算法简要的叙述可以为:MD5以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。

算法示意图:

使用简介

# touch test1.txt test2.txt    //-->建测试用空文件

# ls -lart

total 8

drwxr-xr-x 5 root root 4096 Aug  5 14:46 ..

-rw-r--r-- 1 root root    0 Aug  5 14:48 test2.txt

-rw-r--r-- 1 root root    0 Aug  5 14:48 test1.txt

drwxr-xr-x 2 root root 4096 Aug  5 14:48 .

# md5sum test*.txt > test.md5  //-->将文件系列生成的md5文件,放到test.md5

# cat test.md5

d41d8cd98f00b204e9800998ecf8427e  test1.txt

d41d8cd98f00b204e9800998ecf8427e  test2.txt

# echo ‘hello‘ >> test1.txt    //-->修改其中一个文件

# md5sum -c test.md5           //-->用md5sum命令加-c参数校验

test1.txt: FAILED

test2.txt: OK

md5sum: WARNING: 1 of 2 computed checksums did NOT match

NOTE:

  • 尽管sha1sum算法及原理跟md5sum不一样,命令使用几乎一样。man sha1sum; man md5sum
  • 由其原理可知,生成的校验码相同的概率,微乎其微。

浅谈MD5及简单使用,布布扣,bubuko.com

时间: 2024-10-27 23:29:33

浅谈MD5及简单使用的相关文章

(转)浅谈MD5加密算法中的加盐值(SALT)

我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码. 加Salt可以一定程度上解决这一问题.所谓加Salt方法,就是加点“佐料”.其基本想法是这样的:当用户首次提供密码时(通常是注册时),由系统自动往这个密码里撒一些“佐料”,然后再散列.而当用户登录时,系统为用户提供的代码撒上同样的“佐料”,然后散列,再比较散列值,已确定密码是否正确. 这里的“佐料”被称作“Salt值”,这个值是由系统随机生成的,并且只有系统

Web应用你加盐了吗?——浅谈MD5加密算法中的加盐值(SALT)

转自:http://blog.csdn.net/blade2001/article/details/6341078 我们知道,如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码. 加Salt可以一定程度上解决这一问题.所谓加Salt方法,就是加点“佐料”.其基本想法是这样的:当用户首次提供密码时(通常是注册时),由系统自动往这个密码里撒一些“佐料”,然后再散列.而当用户登录时,系统为用户提供的代码撒上同样的“佐料”,然后

浅谈Linux下简单排除字符串的几种方法(awk、sed、grep)

学习有一段时间了,感觉状态良好,老师所讲的课下也都能想起来,这算是学会(记下)了把. 本着对自己仁慈的起点,出了道十分简单的题考考自己,不上机,手写...结果悲剧满满 题1:有3行文本,要求排除中间行,显示第1行和第3行 模拟环境 [[email protected] tmp]# cat>>a.txt<<EOF            > aa > bb > cc > EOF [[email protected] tmp]# cat a.txt  aa bb

浅谈属性动画简单使用之实现爱的贝塞尔曲线浪漫告白效果(三)

谁说程序员不浪漫的啊,每次看到别人在黑程序员心中就有一种无奈,只是他们看到的是程序员不好的一面,今天我将用这个案例告诉那些人,程序猿也是一个很浪漫,很有情调的人.在程序员心中他们只想做最高效的事情,没有什么比效率更重要了.那就开始今天程序猿的告白之旅. 我们都知道属性动画有个强大的地方,它实现让某个控件按照我们指定的运动轨迹来运动.也就是说它可以按照一个抛物线来运动,也可以按照一个线性的线来运动,还可以按照我们今天所讲的贝塞尔曲线的轨迹来运动.为什么他可以按照某一个轨迹来运动呢??首先我们来分析

【我的Linux,我做主!】浅谈MD5校验文件完整一致性

目录:(一)MD5介绍(二)md5sum命令(三)实战演练 (一)MD5介绍(1.1)MD5即Message-Digest Algorithm 5(信息-摘要算法 第5版),用于确保信息传输完整一致.是计算机广泛使用的杂凑算法之一(又名:摘要算法.哈希算法),主流编程语言普遍已由MD5实现.将数据运算为另一固定长度值(十六进制的为32位),是杂凑算法的基础原理,MD5的前身有MD2.MD3和MD4.MD5的作用是大容量信息在用数字签名软件签署私人密钥前被"压缩"成一种保密的格式(就是把

测试浅谈(原则、简单流程)

1.测试的原则:·测试证明软件存在缺陷·不可能执行穷尽测试.·测试应尽早启动.尽早介入·缺陷存在群集现象(二八定律)·杀虫剂悖论·不同的测试活动依赖不同的测试背景·不存在缺陷的谬论 2.测试的流程·1.需求分析·2.测试计划[一般测试组长]·3.用例设计·4.执行用例(基础.基本)·5.缺陷跟踪·6.测试总结[一般测试组长] 测什么?·软件源代码·与软件源代码匹配的文档·支撑软件源代码运行的配置数据·需求阶段-----需求规格说明书·系统设计阶段-----概要设计说明书.详细设计说明书·系统测试

浅谈属性动画简单使用之实现卫星菜单(二)

大家对于卫星菜单应该都不陌生了,其实这个菜单如果能合适运用到我们的APP项目中,确实是一个不错的选择,交互性非常好.在写Demo之前我也上网搜了一些关于卫星菜单的实现,感觉好多人实现卫星菜单这种动画,采用的是补间动画,并且代码还不少,通过上一讲我们知道,补间动画不具备与用户交互的特点,就比如卫星菜单展开后,产生很多子菜单有很多的点击事件,会发现产生点击事件的位置不会随着补间动画而产生位置改变而改变,反而点击事件一直保存在初始的位置.当然补间动画也能做,那就需要产生动画后发生位置的改变,并且也需要

js---OOP浅谈

js---OOP浅谈 对象化编程-------简单地去理解就是把javascript能涉及到的范围分成各种对象,对象下面再次划分对象.编程出发点多是对象,或者说基于对象.所说的对象既包含变量,网页,窗口等等 对象的含义          对象可以是文字,表单等等.对象包含一下属性-------对象的某些特定的性质方法-------对象能做的事情事件-------能响应发生在对象上的事情     注意:对象只是一种特殊的数据 2.  基本对象                 我们一般划分的角度还是

浅谈HttpClient

HttpClient简介 HttpClient 是 Apache Jakarta Common 下的子项目,可以用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议.HttpClient支持的功能如下: 支持Http0.9.Http1.0和Http1.1协议. 实现了Http全部的方法(GET,POST,PUT,HEAD 等). 支持HTTPS协议. 支持代理服务器. 提供安全认证方案. 提供连接池以便重用连接. 连接管理器支持多线