很多时候我们都需要计算md5用来做校验或者什么的,比如下了个iso,要做个校验看下到的文件是否没有损坏,从而刻盘啊什么的。

这样的需求很好办,直接使用linux提供的工具即可:

md5sum filename

但是有时候我们只需要计算一个字符串的md5,这时可能很自然的想把这个字符串放进一个文件中,再计算这个文件的md5不就行了么。其实这种方法有个问题,就是在文件中这个字符串的末尾有不可见字符,比如换行,这样算出来的就不是原来的字符串的md5了,而是加上这个换行后的,所以这种方法不可取。

一般来说还是有好多方法的,下面大概举出四种:

一、利用openssl工具

方法是这样的:

$ openssl

OpenSSL> md5

the string(ctrl+d结束)

例如:

$ openssl

OpenSSL> md5

helloworld(stdin)= fc5e038d38a57032085441e7fe7010b0

二、利用python的库

把下面的保存成py文件(比如md5.py):

import sys

import hashlib

m=hashlib.md5()

m.update(sys.argv[1])

print m.hexdigest()

然后运行

$ python md5.py helloworld

fc5e038d38a57032085441e7fe7010b0

三、利用php的函数

简单编辑一个php文件:

echo md5("helloworld");

?>

然后在浏览器中请求这个页面(本地要有web服务器)就可得到结果。

四、利用在线md5工具

如果上面的环境都不具备的话,可以采用这个只要能上网就能用的方法。

linux计算字符串md5值,计算字符串md5的几个方法相关推荐

  1. python 实现大文件md5值计算

    参考:python 实现大文件md5值计算_ddw6022的博客-CSDN博客 python比较两个文本文件是否相同 - douzujun - 博客园 用python 正确计算大文件md5 值 - P ...

  2. 修改视频MD5值怎么修改?这几种方法修改起来很简单

    当我们在互联网上发布视频时,通过修改视频的MD5值,可以更好地保护视频版权,防止其他人在未经授权的情况下复制视频并在其他网站上发布.此外,一些视频平台或软件可能要求视频的MD5值匹配才能上传或播放,并 ...

  3. lua 计算日期差值 计算时间戳日期差

    lua 计算日期差值 背景:最近接触的项目在用lua所以也来发一个 可能其他朋友需要的function 不废话 ,上代码,需要的小伙伴拿去吧,如果还有小伙伴有更好的方案可以. 此方案也是从网络上搜到的 ...

  4. java字符串取值_java 字符串截取的三种方法

    1.split()+正则表达式来进行截取. 将正则传入split().返回的是一个字符串数组类型.不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时. String str = " ...

  5. shell 获取字符串/文件的MD5值

    获取字符串的MD5值: 字符串"hello"的MD5: $ echo -n 'hello'|md5sum|cut -d ' ' -f1 得到的MD5值: 5d41402abc4b2 ...

  6. 《ASCE1885的信息安全》の使用Crypto++的MD5算法对字符串进行哈希

    使用Crypto++的MD5算法对字符串进行哈希,先在VS2010中新建Win32 Console Application,取工程名为:Crypto-MD5.在工程主目录中新建文件夹include,将 ...

  7. mac下修改文件的md5值

    打开终端 改变文件的md5值命令: echo (随便写入几个字符,不带括号) >> /Users/carl/Downloads/要修改的文件 查看文件的md5值命令: md5 /Users ...

  8. js快速计算文件hash值

    1. 通过 requestIdleCallback or spark-md5利用浏览器空闲时间切片计算文件hash值: requestIdleCallback简介: window.requestIdl ...

  9. 文件名的改变不会改变md5值

    一.提出问题: 文件名改变了,文件内容保持不变,文件的md5值会改变吗? 二.实验案例: 如图所示: 文件名的改变不会修改md5值. 三.为什么文件名改变不会修改md5值呢? MD5: 信息摘要算法( ...

最新文章

  1. 【spring】具名参数
  2. java开心消消乐代码_今晚请屏住呼吸,开心消消乐拍电影了!
  3. OSChina 周日乱弹 ——科普逗逼行为准则
  4. 实验二 二叉树的操作与实现
  5. scrapy从入门到放弃 学习项目2
  6. python爬虫网络请求超时是什么意思_python爬虫怎么处理异常和超时?
  7. Mango Teapot ② Teapot クラス
  8. 电商网站模板_阿里云建站:模板建站与定制建站怎么选(小白参考)
  9. 车联网 python_利用百度车联网提供的天气查询接口用python查询天气信息
  10. 人工智能风险分析技术研究进展
  11. 小米官网静态网页练习记录
  12. 关于opencv的几个小总结
  13. TCP/IP协议保留地址一览表
  14. 【转】 道格拉斯-普克 算法 (可用于手写获取特征点)
  15. Rxjava2中Single的just操作符源码学习
  16. FinalShell连接超时解决方法
  17. 2020年中级数据库系统工程师考试笔记7—关系数据库1
  18. message: 没有找到可以构建的 NPM 包,请确认需要参与构建的 npm 都在 `miniprogramRoot` 目录内,或配置 project.config.json 的 packNpmMa
  19. Pytorch为什么总要设置随机种子
  20. 微信小程序软件测试junit,微信小程序兼容性能测试方法

热门文章

  1. Java程序出现不正常情况
  2. Win10 无法使用内置管理员账户打开应用程序解决方案
  3. 如何使用prism进行统计分析(Analysis)?
  4. Java实现企业微信回调配置
  5. python_pdf常规使用
  6. Jenkins 前端 自动化发版/CICD
  7. DrEA-many objective总结
  8. Excel将多行相同数据合并成一行并居中显示
  9. Day1ps设计基础作业第一章第二章
  10. 【证明题】(一)微分中值定理