Fact-checked by Grok 2 weeks ago

md5sum

md5sum is a command-line utility available in many operating systems, such as , that computes and verifies 128-bit message-digest checksums for files or data streams read from standard input. It outputs the MD5 hash in format, optionally prefixed with the filename, and supports options for binary or processing, as well as checking pre-computed checksums against files to detect alterations. As part of Coreutils package, md5sum is widely used for verifying file integrity, such as confirming that downloads or transfers have not been corrupted by errors or non-malicious changes. The underlying (Message-Digest Algorithm 5) is a that processes input messages of arbitrary length to produce a fixed 128-bit (16-byte) hash value, typically represented as a 32-character string. Designed by Ronald Rivest and published in 1992 via RFC 1321, MD5 operates through four rounds of 16 operations each, using bitwise manipulations, modular additions, and a compression function on 512-bit blocks padded from the input. Initially intended for secure applications like digital signatures, where it "compresses" large files before , MD5 was an improvement over its predecessor by providing stronger . Despite its efficiency and historical prevalence in and systems, has significant security limitations. In , researchers demonstrated practical collision attacks, allowing two different inputs to produce the same value, which undermines its use in security-sensitive contexts like password hashing or certificate validation. Subsequent analyses, including chosen-prefix collisions by 2007, further exposed vulnerabilities, leading authoritative bodies to deprecate for cryptographic purposes; the IETF explicitly advises against its use in new protocols, recommending alternatives like . Today, md5sum remains valuable for non-cryptographic tasks but is often paired with stronger hashes like or for enhanced reliability.

Overview

Purpose and Functionality

md5sum is a standard command-line utility available in operating systems, part of the GNU Coreutils package, designed to compute and verify 128-bit checksums using the message-digest algorithm. It generates unique cryptographic fingerprints, or hashes, for input data, enabling users to detect any alterations in files due to transmission errors, storage issues, or tampering. The tool operates by processing file contents block by block and applying the MD5 algorithm, which produces a fixed 128-bit output regardless of input size. The primary functions of md5sum include calculating hashes for individual or multiple specified on the command line, as well as reading from standard input when no are provided or when the special '-' is used. It supports creating files that store hashes alongside corresponding filenames in a standardized format, facilitating batch verification of file sets. Verification mode allows comparison of computed hashes against those in a file, reporting matches or mismatches to confirm . This makes md5sum essential for tasks like validating software downloads, ensuring data consistency after transfers, and maintaining archive reliability. md5sum integrates seamlessly with shell scripting environments, such as , to automate integrity checks in workflows involving , software distributions, and . For instance, scripts can invoke md5sum to generate hashes during operations and later verify them post-restoration, minimizing manual intervention and reducing error risks. The output is a 32-character string per hash, often prefixed with a mode indicator (an asterisk for binary mode or space for ), providing a compact, machine-readable format suitable for piping into other commands or scripts. The underlying algorithm, detailed in RFC 1321, serves as the computational basis for these operations. Initial implementations of the md5 utility drew from the reference C code provided in RFC 1321.

Historical Development

The was designed by Ronald Rivest in 1991 to replace the earlier , with its specification published by Data Security and formalized in RFC 1321 the following year. The md5sum command, which implements this algorithm for computing and verifying 128-bit MD5 hashes, first appeared in early 1990s systems as a utility for checks, with initial C implementations drawing from the RFC. The md5sum utility originated in project, added to the Textutils package in June 1995 to support growing needs for secure hashing in file verification. It was subsequently integrated into the GNU Coreutils package starting with 4.5, released in 2002, which merged Textutils with other utilities and solidified md5sum as a across distributions. Adoption extended to other Unix-like systems in the 1990s: incorporated support via its libmd library in the mid-1990s, with the md5 command for file hashing added around 2.0 in 1995. introduced hashing capabilities via the digest command in 10 in 2005. macOS, inheriting BSD tools, included the md5 command from its initial releases in 2001, providing md5sum-like functionality. While md5sum's core functionality aligns with POSIX.1-2008 guidelines for checksum utilities like , the command itself is not formally specified, leading to variations in options across implementations. Following the 2004 demonstration of practical collisions by researchers including Xiaoyun Wang, deprecation discussions emerged, questioning its suitability for cryptographic purposes despite continued use for non-security integrity checks.

MD5 Fundamentals

Core Algorithm Basics

The algorithm, as implemented by md5sum, processes an input through a series of steps to produce a 128-bit hash value. First, the input is padded to ensure its length is a multiple of 512 bits. This involves appending a single '1' bit followed by zero or more '0' bits until the length modulo 512 equals 448, after which the 64-bit representation of the original length (in bits) is appended as two 32-bit words. The padded is then divided into 512-bit blocks, each consisting of 16 32-bit words denoted as M to M. Processing begins by initializing four 32-bit buffers: A = 0x67452301, B = 0xEFCDAB89, C = 0x98BADCFE, and D = 0x10325476. These values serve as the initial hash state. For each 512-bit block, copies of these buffers (AA, BB, CC, DD) are made, and the block is processed through four rounds, each comprising 16 operations. The rounds employ nonlinear bitwise functions: F(X, Y, Z) = (X ∧ Y) ∨ (¬X ∧ Z) for the first round, G(X, Y, Z) = (X ∧ Z) ∨ (Y ∧ ¬Z) for the second, H(X, Y, Z) = X ⊕ Y ⊕ Z for the third, and I(X, Y, Z) = Y ⊕ (X ∨ ¬Z) for the fourth. Each operation updates one buffer using modular arithmetic on 32-bit words, exemplified in the first round by: a = b + \left( \left( a + F(b, c, d) + M + T \right) \lll n \right) \mod 2^{32} where i is the message word index, T is the predefined round constant, and n is the left amount specific to the , and similar updates through a, b, c, d. After all 64 s, the updated buffers are added to the saved copies (A += AA, etc.), and this state carries over to the next block. Upon processing all blocks, the final values of A, B, C, and D are concatenated in that order to form the 128-bit digest. md5sum outputs this digest as 32 lowercase digits, representing the in a compact textual form suitable for verification and storage. In handling files, md5sum processes input in binary mode by default, reading the file byte-by-byte to include all data exactly as stored, such as null bytes, without interpretation as text. For large files, the algorithm's block-based design enables efficient streaming, where data is fed incrementally without loading the entire file into memory.

Hash Output Format

The output of the md5sum command follows a standardized textual format for each processed file, consisting of a 32-character hexadecimal representation of the 128-bit MD5 hash value, followed by a space, a flag indicating the input mode, another space, and the filename. This 32-digit length arises from encoding the fixed 128-bit MD5 digest in hexadecimal. For example, the hash for an empty file appears as d41d8cd98f00b204e9800998ecf8427e * filename. The input mode flag distinguishes between binary and text processing to account for potential differences in line ending handling across systems: an asterisk (*) denotes binary mode (the default on most platforms), while a space denotes (activated via the --text option). In mode, files are read without translation of newline characters, ensuring consistent hashing regardless of platform-specific text conventions; translates line endings to canonical form before computation. This results in either one space (for , appearing as two consecutive spaces after the hash) or a space followed by an asterisk and another space (for mode) before the filename. When generating checksum files (typically via redirection to a file like md5sum *.txt > checksums.md5), the structure is a multi-line file where each line adheres to the same format: , mode flag, and /. Filenames in these files support both relative and absolute paths, allowing flexibility in verification across different working directories. Special characters in paths, such as , newlines, or carriage returns, are escaped with a backslash (\) to prevent ambiguities. Special cases in output formatting include handling for standard input (stdin), empty files, and directories during . For input from stdin (when no files are specified or - is provided), the filename is represented as a (-), as in d41d8cd98f00b204e9800998ecf8427e -. Empty files produce the all-zero digest d41d8cd98f00b204e9800998ecf8427e due to the algorithm's padding and initialization on zero-length input.

Command Usage

Syntax and Arguments

The md5sum command follows the standard syntax md5sum [OPTION]... [FILE]..., where options precede any positional arguments and multiple files can be specified as trailing arguments. If no files are provided or if one of the files is named -, the command reads input from standard input to compute the checksum. When a single file is given as the positional argument, md5sum computes and outputs its MD5 checksum directly in the untagged format. For multiple files, it generates a multi-line output with one entry per file, following the format described in the Hash Output Format section. If an argument starting with a hyphen (-) is intended as a filename rather than an option, the -- delimiter must be used to end option processing and treat subsequent arguments as files. Specifying a directory as a FILE results in a warning message such as "is a directory," and the command skips it without recursive processing. By default, md5sum processes files in binary mode, which is indicated by an asterisk (*) in the output line after the checksum; the --text option switches to , denoted by a . The command issues warnings for unreadable files but continues processing the remaining inputs. For error handling, it returns an of 0 on success, 1 for general errors (such as invalid input during verification), and 2 specifically for file read failures.

Key Options

The md5sum command provides several key options to modify its behavior, primarily through command-line flags that enable , adjust input , output, and scenarios. These options are part of Coreutils implementation and allow users to tailor the tool for specific tasks like integrity ing or .

Verification Options

The --check (or -c) option enables check mode, where md5sum reads a —typically generated by a prior run of the command—and verifies whether the listed files match their corresponding digests; it outputs "" for successful matches and "FAILED" for discrepancies, while exiting with a nonzero if any failures occur. In conjunction with --check, the --quiet option suppresses non-error output, such as the "" messages for verified files, producing only warnings or failure notices to streamline logging. Similarly, --status silences all normal output during checks, relying solely on the exit code (0 for , 1 for errors) to indicate results, which is useful in scripts for automated without verbose feedback. The --warn (or -w) flag, when used with --check, issues warnings for improperly formatted lines in the checksum , such as those indicating potential or invalid digests, helping diagnose input issues without halting execution.

Input Mode Options

By default, md5sum operates in binary mode, treating files as raw bytes and ignoring platform-specific line endings. The --text (or -t) option switches to , where input is processed as text with conversions from carriage-return-line-feed (CRLF) sequences to line-feed (LF) only, ensuring consistent digests across systems with differing conventions like Windows and Unix. Conversely, --binary (or -b) explicitly enforces binary mode, which is the default but can be specified for clarity in scripts or when overriding system defaults.

Output Control Options

The --tag option formats output with a descriptive , such as "MD5 (filename): digest", mimicking BSD-style checksums for better readability and with other tools that expect tagged lines. For handling large numbers of files or inputs with special characters, --zero (or -z) replaces newlines with (NUL) bytes as separators in both output and input parsing, preventing issues with filenames containing spaces or newlines and facilitating safe in Unix pipelines.

Practical Examples

Generating Checksum Files

To generate a checksum file for a single file using the md5sum command, redirect the output to a new file, which will contain the MD5 hash followed by the filename. For example, the command md5sum file.txt > file.txt.md5 computes the hash of file.txt and writes it in the format d41d8cd98f00b204e9800998ecf8427e file.txt to file.txt.md5. For batch processing multiple files, md5sum can handle wildcards or lists to create a single checksum file encompassing several inputs. The command md5sum *.txt > checksums.md5 generates hashes for all .txt files in the current directory, producing lines like d41d8cd98f00b204e9800998ecf8427e document1.txt and 5d41402abc4b2a76b9719d911017c592 document2.txt in checksums.md5. For recursive generation across directories, combine md5sum with find and xargs, such as find /path/to/dir -type f -name "*.txt" -print0 | xargs -0 md5sum > all_checksums.md5, which null-terminates filenames to handle spaces and special characters safely. Best practices for generating checksum files include specifying the --binary option to ensure text-mode versus binary-mode consistency across platforms, as in md5sum --binary *.iso > isos.md5, which treats files as binary to avoid newline conversions on Windows systems. Additionally, incorporate versioning by appending dates or release numbers to the checksum filename, such as md5sum --binary release-v1.0/* > release-v1.0-$(date +%Y%m%d).md5, to track changes over time. After generation, validate the checksum file manually by reviewing its contents for accurate hash-filename pairs, ensuring no truncation or encoding issues occurred during output redirection. This step confirms the file's usability for later integrity checks, as detailed in the hash output format.

Verifying Integrity

The md5sum utility verifies integrity by comparing recomputed hashes against those stored in a , typically generated earlier using the tool itself. To perform basic , invoke md5sum --check checksum.md5, where the checksum file contains lines in the format <[MD5](/page/MD5)_hash> <mode> <filename>, such as d41d8cd98f00b204e9800998ecf8427e *file.txt. The command reads each entry, recomputes the hash for the corresponding , and checks for matches; successful verifications are reported as file.txt: OK, while any discrepancy results in file.txt: FAILED. For handling mismatches, md5sum --check explicitly flags altered or corrupted files with the "FAILED" message, allowing users to identify tampering or transmission errors, whereas matching files receive the "" confirmation. The --quiet option suppresses "" outputs, limiting reports to errors only and producing no output for fully successful checks, which is useful in automated workflows. If verification fails due to mismatches or other issues, the command returns a non-zero exit code, enabling scripting integration for conditional logic, such as halting a process on failure. In multi-file scenarios, the checksum file lists explicit filenames for each file to verify. The --ignore-missing option ensures that absent files in the checksum list are skipped without triggering an error or "FAILED" status, preventing unnecessary interruptions in large-scale checks. This flexibility supports verifying distributed file sets, such as software packages with multiple components. Advanced usage includes data from standard input for verification, such as when reading from a or in scripts. This approach facilitates checks in scripted environments, while the exit code remains reliable for error handling.

Implementations

GNU Coreutils Version

The md5sum utility has been part of the Coreutils package since June 1995, when it was initially added to the predecessor Textutils package, and has been maintained by the Project as a core component for computing and verifying message digests. The current implementation is included in GNU Coreutils version 9.9, released on November 10, 2025. This version offers additional extensions such as the --tag option for generating BSD-style checksum output and the --zero option for using NUL delimiters instead of newlines in checksum files. Written in portable , it supports deployment across various systems, including distributions and BSD variants, with built-in handling for and text modes to accommodate different input conventions. The source code for Coreutils, including md5sum, is freely available under the GNU General Public License version 3 (GPL v3) from the official Git repository hosted on Savannah. Compilation is facilitated through standard Autotools, allowing customization for specific environments, such as integration with external libraries like for enhanced cryptographic support, though core functionality remains self-contained. For performance, the implementation employs buffered I/O to efficiently handle large files, minimizing system calls and enabling high throughput rates suitable for integrity checks on modern hardware, often exceeding several hundred MB/s in single-threaded operation on SSD-backed systems.

Non-GNU Variants

On BSD systems such as and , the md5 command provides checksum functionality with syntax similar to GNU md5sum but with notable differences in options and output. The command lacks a --tag option for BSD-style tagged output and instead uses -r to reverse the default format from "MD5 (filename) = hash" to "hash filename" for easier parsing. 's md5 supports a GNU compatibility mode via the md5sum alias, which includes --check for verifying checksum files, but the standard BSD mode relies on -C checklist for file-based verification and does not include built-in recursion, requiring tools like find for directory traversal. 's md5 outputs the hash in lowercase hexadecimal by default, such as "d41d8cd98f00b204e9800998ecf8427e", differing from GNU's lowercase convention only in format. macOS, based on , includes a built-in md5 utility derived from BSD that supports -q for quiet mode to output only the without filename or tags. It lacks a --check option for direct of checksum files, necessitating alternatives like shasum -c for batch checks or manual scripting. The default output follows the BSD format with lowercase , e.g., "MD5 (file.txt) = d41d8cd98f00b204e9800998ecf8427e", and -r reverses it to match GNU-style layouts for compatibility. Windows lacks a native md5sum equivalent in Command Prompt, but provides Get-FileHash -Algorithm [MD5](/page/MD5) to compute MD5 hashes, outputting in lowercase with the path, e.g., "A1B2C3D4E5F67890123456789ABCDEF0". For GNU-like behavior, users can install or Git Bash, which include the full md5sum from coreutils, or third-party ports such as GnuWin32's md5sum.exe for standalone Windows execution. On other Unix systems like and AIX, md5sum is typically available only through optional packages such as coreutils, with variations in default behaviors. 's md5sum, when installed via the package, supports standard options including --binary but defaults to binary mode for file reads on systems, eliminating the need for explicit flags unlike on Windows. AIX does not include a built-in md5sum; instead, computation relies on via openssl dgst -md5 filename, which outputs the hash in without filename unless piped, or the csum -h [MD5](/page/MD5) command in AIX 7.2 and later for hash generation. For cross-platform scripting alternatives, Python's hashlib module offers hashlib.md5() to compute digests programmatically, supporting file or string input with methods like update() and hexdigest() for output, ensuring portability without system-specific tools. Similarly, Perl's Digest::MD5 module provides functions such as md5_hex($data) for efficient hashing of files or strings, commonly used in scripts for verification across environments.

Security Considerations

MD5 Vulnerabilities

The hash function, part of the Merkle-Damgård family of constructions, was found vulnerable to collision attacks in , when researchers demonstrated a to generate two distinct inputs producing the same 128-bit hash output with a complexity far below expectations. This breakthrough by Wang et al. exploited differential cryptanalysis to construct colliding message pairs, undermining MD5's and making it unsuitable for applications requiring uniqueness, such as digital signatures. By 2005, refinements to this approach enabled practical computation of such collisions on standard hardware in under an hour, further highlighting the algorithm's insecurity. A preimage vulnerability emerged in theoretical analyses around 2009, reducing the attack complexity to approximately 2^{123.4} operations—below the ideal 2^{128} for a 128-bit hash—allowing an adversary to construct a file that produces a specific target hash value. This attack, detailed by Sasaki and Aoki, targets the compression function's weaknesses, enabling targeted manipulations like creating software with a predetermined checksum. Although not yet practical on commodity hardware due to the high computational demand, it erodes confidence in MD5 for integrity verification in security-critical contexts. Length extension attacks exploit MD5's incremental hashing design, permitting an attacker with knowledge of a value and length to compute the of an extended by appending arbitrary data without access to the original secret. In this scenario, the attacker reuses the internal state after the known , effectively treating the appended portion as a new input block, which compromises protocols relying on for authentication like naive constructions. This flaw is inherent to MD5's structure and has been recognized since its design, but its implications grew with demonstrated exploits in vulnerable systems. These vulnerabilities have manifested in real-world threats, notably the 2012 Flame malware, which leveraged an MD5 chosen-prefix collision to forge a valid Microsoft code-signing certificate, allowing the payload to bypass Windows security checks and infect systems undetected. Similarly, in 2008, researchers constructed a rogue Certificate Authority (CA) certificate using an MD5 collision, demonstrating the potential to issue fraudulent SSL certificates for arbitrary domains and enable man-in-the-middle attacks on HTTPS sites. These incidents illustrate how md5sum's underlying MD5 algorithm fails in high-stakes environments like software distribution and public key infrastructure, rendering it unreliable for cryptographic security.

Usage Recommendations

md5sum is particularly suitable for non-security-critical applications, such as detecting accidental during file downloads, backups, or transfers over unreliable networks. In these scenarios, it provides a quick and efficient way to verify file integrity against transmission errors without requiring cryptographic strength. However, md5sum should be avoided for any cryptographic purposes, including digital or applications needing , due to MD5's known vulnerabilities that enable practical collision attacks. Instead, transition to SHA-256 using the sha256sum utility, which offers robust security suitable for integrity protection in sensitive contexts. To enhance reliability, combine md5sum with digital from tools like GPG, where the verifies basic integrity and the ensures authenticity from a trusted source. In scripting environments, incorporate md5sum with error trapping mechanisms, such as checking exit codes and logging discrepancies, to automate while handling failures gracefully. For software distributions, always verify the chain of trust by importing and validating the signer's public GPG key through official keyservers or fingerprints before using . For migration from md5sum to stronger hashes, tools like rhash provide support for multiple algorithms including and SHA-256, allowing computation and verification of both in a single run to facilitate gradual updates. Similarly, hashdeep enables recursive multi-hash auditing across directories, aiding in the comparison and replacement of legacy checksums with SHA-256 equivalents. When updating, regenerate and distribute new checksum files using the preferred stronger hash to maintain and .

References

  1. [1]
    md5sum(1) - Linux manual page - man7.org
    The `md5sum` command computes and checks MD5 checksums. It can print or check checksums, and read from standard input or files.
  2. [2]
    RFC 1321 MD5 Message-Digest Algorithm - IETF
    The MD5 algorithm is intended for digital signature applications, where a large file must be "compressed" in a secure manner before being encrypted with a ...
  3. [3]
    Information on RFC 1321 - » RFC Editor
    This document describes the MD5 message-digest algorithm. The algorithm takes as input a message of arbitrary length and produces as output a 128-bit ...
  4. [4]
    Hash Functions | CSRC - NIST Computer Security Resource Center
    NIST recommends that federal agencies transition away from SHA-1 for all applications as soon as possible. Federal agencies should use SHA-2 or SHA-3 as an ...
  5. [5]
    md5sum Linux Command {10 Examples} | phoenixNAP KB
    Feb 17, 2021 · The md5sum Linux command is used to verify the integrity of a file. Learn about the command and its options in this simple tutorial.
  6. [6]
    md5sum Command in Linux with Examples - GeeksforGeeks
    Jul 19, 2024 · The md5sum is designed to verify data integrity using MD5 (Message Digest Algorithm 5). MD5 is 128-bit cryptographic hash and if used properly it can be used ...
  7. [7]
    How to Check File Integrity in Linux Using MD5 Checksum - Tecmint
    Nov 11, 2024 · In this article, we'll explain what MD5 is, how to generate MD5 checksums for files, and how to verify the integrity of files using these checksums.
  8. [8]
  9. [9]
    Decoded: md5sum (coreutils) - maizure.org
    md5sum has two execution strategies: One is the process to generate an md5 digest and the other to verify correctness of a list of files/hashs. Both cases rely ...Missing: functionality | Show results with:functionality
  10. [10]
    GNU Core-utils: md5sum invocation
    Dec 28, 2002 · For each file , ` md5sum ' outputs the MD5 checksum, a flag indicating a binary or text input file, and the filename. If file is omitted or ...
  11. [11]
    The history of md5crypt - PHKs Bikeshed
    MD4 and MD5 were released for any use, and MD5 were the slower of the two. I had already some months previously added MD2, MD4 and MD5 to FreeBSD as a “libmd” ...
  12. [12]
    Wheres my md5sum ? - Oracle Blogs
    Apr 15, 2005 · There are various commands available for generating the digest of a file on Solaris 10: /usr/bin/digest - Solaris command, similar to FreeBSD's digest(1)
  13. [13]
  14. [14]
    md5sum - Linux Foundation
    Write to standard output a line containing the MD5 message digest of that file, followed by one or more blank characters, followed by the name of the file.Missing: POSIX | Show results with:POSIX
  15. [15]
    md5sum invocation (GNU Coreutils 9.8)
    ### Summary of `md5sum` Output Format
  16. [16]
    cksum output modes (GNU Coreutils 9.8)
    ### Summary of md5sum Output Modes
  17. [17]
    GNU Coreutils 9.8
    This manual documents version 9.8 of the GNU core utilities, including the standard programs for text and file manipulation. Copyright © 1994–2025 Free Software ...
  18. [18]
    GNU Coding Standards
    Jul 5, 2025 · Similarly, most systems implement POSIX.1-2008 libraries and tools, and many have POSIX.1-2017. Hence, there is little reason to support old ...
  19. [19]
    md5sum invocation (GNU Coreutils 9.8)
    md5sum computes a 128-bit checksum (or fingerprint or message-digest) for each specified file. The MD5 digest is more reliable than a simple CRC.
  20. [20]
    GNU Core Utilities - Git Repositories [Savannah]
    You can browse the Git repository of this group with your web browser. This gives you a good picture of the current status of the source files.
  21. [21]
    On hashing performance
    Feb 22, 2018 · So md5sum might be of some use in this aging and slow hardware as it is more than 2x faster than sha1 on the same hardware.
  22. [22]
    md5 - FreeBSD Manual Pages
    MD5(1) General Commands Manual MD5(1) NAME md5, sha1, sha224, sha256, sha384, sha512, sha512t224, sha512t256, rmd160, skein256, skein512, skein1024, md5sum ...Missing: syntax | Show results with:syntax
  23. [23]
    md5(1) - OpenBSD manual pages
    ### Summary of `md5` from OpenBSD Manual (https://man.openbsd.org/md5.1)
  24. [24]
  25. [25]
    CoreUtils for Windows - GnuWin32
    The GNU Core Utilities are the basic file, shell and text manipulation utilities of the GNU operating system.
  26. [26]
    md5sum - man pages section 1: User Commands - Oracle Help Center
    Jul 27, 2022 · md5sum - compute and check MD5 message digest.Missing: utility | Show results with:utility
  27. [27]
    How to run a MD5 hash in Linux, Windows and AIX - Customer
    The commands below demonstrate how to run a MD5 hash on Linux, Windows (with and without WSL), and AIX.
  28. [28]
    hashlib — Secure hashes and message digests — Python 3.14.0 ...
    This module implements a common interface to many different hash algorithms. Included are the FIPS secure hash algorithms SHA224, SHA256, SHA384, SHA512.
  29. [29]
    Digest::MD5 - Perl interface to the MD5 Algorithm - Perldoc Browser
    The Digest::MD5 module allows you to use the RSA Data Security Inc. MD5 Message Digest algorithm from within Perl programs.
  30. [30]
    Collisions for Hash Functions MD4, MD5, HAVAL-128 and RIPEMD
    - **Title**: Collisions for Hash Functions MD4, MD5, HAVAL-128 and RIPEMD
  31. [31]
    How to Break MD5 and Other Hash Functions - SpringerLink
    In this paper we present a new powerful attack on MD5 which allows us to find collisions efficiently. We used this attack to find collisions of MD5 in about 15 ...
  32. [32]
    Finding Preimages in Full MD5 Faster Than Exhaustive Search
    In this paper, we present the first cryptographic preimage attack on the full MD5 hash function. This attack, with a complexity of 2 116.9 , generates a pseudo ...
  33. [33]
    Flame malware collision attack explained - Microsoft
    Jun 6, 2012 · They had to perform a collision attack to forge a certificate that would be valid for code signing on Windows Vista or more recent versions of ...
  34. [34]
    MD5 considered harmful today - Marc Stevens
    Dec 30, 2008 · Previous work on MD5 collisions between 2004 and 2007 showed that the use of this hash function in digital signatures can lead to theoretical ...
  35. [35]
    RFC 6151 - Updated Security Considerations for the MD5 Message ...
    This document updates the security considerations for the MD5 message digest algorithm. It also updates the security considerations for HMAC-MD5.
  36. [36]
    Fixity and checksums - Digital Preservation Handbook
    There are several different checksum algorithms, e.g. MD5 and SHA-256 that can be used to generate checksums of increasing strength. The 'stronger' the ...<|control11|><|separator|>
  37. [37]
    Verifying Apache Software Foundation Releases
    This page describes how to verify a file you have downloaded from an Apache product releases page, or from the Apache archive, by checksum or signature.
  38. [38]
    2.1.4 Verifying Package Integrity Using MD5 Checksums or GnuPG
    If you notice that the MD5 checksum or GPG signatures do not match, first try to download the respective package one more time, perhaps from another mirror site ...
  39. [39]
    RHash Program
    RHash (Recursive Hasher) is a console utility for computing and verifying hash sums of files. It supports CRC32, MD4, MD5, SHA1, SHA256, SHA512, Tiger, DC++ ...Missing: multi | Show results with:multi
  40. [40]
    jessek/hashdeep - GitHub
    This is md5deep, a set of cross-platform tools to compute hashes, or message digests, for any number of files while optionally recursively digging through ...Missing: migration | Show results with:migration