linux shell 命令获取字符串/文件的MD5值

获取字符串的MD5值:

字符串“hello”的MD5:

$ echo -n ‘hello‘|md5sum|cut -d ‘ ‘ -f1

得到的MD5值:

5d41402abc4b2a76b9719d911017c592

命令解释:

md5sum: 显示或检查 MD5(128-bit) 校验和,若没有文件选项,或者文件处为"-",则从标准输入读取。
echo -n : 不打印换行符。
cut:  cut用来从标准输入或文本文件中剪切列或域。剪切文本可以将之粘贴到一个文本文件。 
        -d 指定与空格和tab键不同的域分隔符。-f1 表示第一个域。参考这里。

获取文件的MD5值:

$ md5sum linuxmint-12-gnome-dvd-32bit.iso|cut -d ‘ ‘ -f1

得到的MD5值:

ee3d6e2ca498bc7685b7f17cdb5f2eea

使用MD5校验iso文件:

$ md5sum linuxmint-12-gnome-dvd-32bit.iso >linuxmint-12-gnome-dvd-32bit.md5

注意linuxmint-12-gnome-dvd-32bit.md5的内容是:

ef3d6e2ca498bc7685b7f17cdb5f2eea linuxmint-12-gnome-dvd-32bit.iso

把linuxmint-12-gnome-dvd-32bit和其验证文件

linuxmint-12-gnome-dvd-32bit.md5放到同一目录下用下面的命令:

$ md5sum -c linuxmint-12-gnome-dvd-32bit.md5

如果校验正确则输出:

linuxmint-12-gnome-dvd-32bit.iso: 确定

如果校验错误则输出:

linuxmint-12-gnome-dvd-32bit.iso: 失败
md5sum: 警告:1/1 生成的校验和不匹配
命令解释:
md5 -c: 从文件中读取MD5 的校验值并予以检查

Message Digest Algorithm MD5为计算机安全领域广泛使用的一种散列函数,用以提供消息的完整性保护。该算法的文件号为RFC 1321(R.Rivest,MIT Laboratory for Computer Science and RSA Data Security Inc. April 1992)

keywords:Hash,SHA,Ronald L. Rivest,MD5,IETF(Internet Engineering Task Force)

时间: 2024-10-08 02:14:44

linux shell 命令获取字符串/文件的MD5值的相关文章

java执行linux shell命令,并拿到返回值

1 package com.suning.spc.util; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.nio.charset.Charset; 6 7 import org.slf4j.Logger; 8 import org.slf4j.LoggerFactory; 9 10 import ch.ethz.ssh2.ChannelCondition; 11 import ch.eth

获取字符串对应的MD5值 (AL16UTF16LE)

CREATE OR REPLACE FUNCTION fn_md5_utf16le (InputString IN VARCHAR2) RETURN VARCHAR2 IS retval varchar2(50); /******************************************************* 用途: 获取字符串对应的MD5值 *******************************************************/ BEGIN retva

Linux下C语言计算文件的md5值(32位的)

google了好久都没有找到合适的,其实我只需要一个函数,能计算文件的 md5 值就好, 后来找到了 md5.h 和 md5.c 的源文件,仿照别人的封装了个函数(他那个有问题,和 md5sum 计算出来的都不一样). 废话少说,直接贴代码: (再废一句话,如果只想计算字符串的md5值,把字符串传给 MD5Update 函数一次就好) #include "md5.h" #include <stdio.h> #include <stdlib.h> #include

Linux shell下计算字符串的哈希值

今天无意发现在Linux上计算md5哈希值和在MacOS不太一样: Linux [[email protected] ~]# echo '123456' | md5sum f447b20a7fcbf53a5d5be013ea0b15af - Mac [[email protected] Notes]$md5 -s 123456 MD5 ("123456") = e10adc3949ba59abbe56e057f20f883e 仔细折腾一下, 原来是echo输出的字符串会默认添加一个换行

C# 获取一个文件的MD5值

using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ConsoleApplication6 { public class Program { public static void Main(string[] args) { string fileName = @"D

Linux Shell 04 数字/字符串/文件测试

一. 数字测试 格式:n1  -op  n2 测试操作op: eq/ne/le/ge/lt/gt    -->    等于/不等于/小于等于/大于等于/小于/大于 1. 数字比较可以使用特殊的(())操作符,用法更接近于C语言,见数字测试. 二. 字符串测试 s1 = s2 #s1与s2是否相同 s1 != s2  #s1与s2是否不相同 s1 < s2 #s1是否小于s2 s1 > s2 #s1是否大于s2 -n s1 #s1长度是否大于0 -z s1  #s1长度是否为0 1. 字符

获取单个文件的MD5值

基础知识: MessageDigest FileInputStream 技巧while((len=in.read(buffer,0,1024))!=-1){ } BigInteger public static String getFileMD5(File file) { if (!file.isFile()) { return null; } MessageDigest digest = null; FileInputStream in = null; byte buffer[] = new 

获取文件的MD5值

package com.example.assetsdemo; import java.io.File; import java.io.FileInputStream; import java.math.BigInteger; import java.security.MessageDigest; import java.util.HashMap; import java.util.Map; public class FileDigest { /** * 获取单个文件的MD5值! * * @pa

Android获取文件的MD5值

package my.bag; import java.io.File; import java.io.FileInputStream; import java.math.BigInteger; import java.security.MessageDigest; import java.util.HashMap; import java.util.Map; import android.app.Activity; import android.os.Bundle; import androi