LLVM 22.0.0git
llvm::MD5 Class Reference

#include "llvm/Support/MD5.h"

Classes

struct  MD5Result

Public Member Functions

LLVM_ABI MD5 ()
LLVM_ABI void update (ArrayRef< uint8_t > Data)
 Updates the hash for the byte stream provided.
LLVM_ABI void update (StringRef Str)
 Updates the hash for the StringRef provided.
LLVM_ABI void final (MD5Result &Result)
 Finishes off the hash and puts the result in result.
LLVM_ABI MD5Result final ()
 Finishes off the hash, and returns the 16-byte hash data.
LLVM_ABI MD5Result result ()
 Finishes off the hash, and returns the 16-byte hash data.

Static Public Member Functions

static LLVM_ABI void stringifyResult (MD5Result &Result, SmallVectorImpl< char > &Str)
 Translates the bytes in Res to a hex string that is deposited into Str.
static LLVM_ABI MD5Result hash (ArrayRef< uint8_t > Data)
 Computes the hash for a given bytes.

Detailed Description

Definition at line 42 of file MD5.h.

Constructor & Destructor Documentation

◆ MD5()

MD5::MD5 ( )
default

References llvm::Data, and LLVM_ABI.

Referenced by hash().

Member Function Documentation

◆ final() [1/2]

MD5::MD5Result MD5::final ( )

Finishes off the hash, and returns the 16-byte hash data.

Definition at line 264 of file MD5.cpp.

◆ final() [2/2]

void MD5::final ( MD5Result & Result)

Finishes off the hash and puts the result in result.

Finish the hash and place the resulting hash into result.

Parameters
Resultis assumed to be a minimum of 16-bytes in size.

Definition at line 234 of file MD5.cpp.

References llvm::ArrayRef(), and llvm::support::endian::write32le().

Referenced by llvm::object::CompressedOffloadBundle::compress(), computeHashString(), llvm::object::CompressedOffloadBundle::decompress(), llvm::emitAMDGPUPrintfCall(), llvm::getUniqueInternalLinkagePostfix(), llvm::getUniqueModuleId(), hash(), llvm::DwarfDebug::makeTypeSignature(), llvm::sys::fs::md5_contents(), llvm::MD5Hash(), and llvm::MCContext::setGenDwarfRootFile().

◆ hash()

MD5::MD5Result MD5::hash ( ArrayRef< uint8_t > Data)
static

Computes the hash for a given bytes.

Definition at line 291 of file MD5.cpp.

References llvm::Data, final(), MD5(), and update().

◆ result()

MD5::MD5Result MD5::result ( )

Finishes off the hash, and returns the 16-byte hash data.

This is suitable for getting the MD5 at any time without invalidating the internal state, so that more calls can be made into update.

Definition at line 270 of file MD5.cpp.

◆ stringifyResult()

void MD5::stringifyResult ( MD5Result & Result,
SmallVectorImpl< char > & Str )
static

Translates the bytes in Res to a hex string that is deposited into Str.

The result will be of length 32.

Definition at line 287 of file MD5.cpp.

References llvm::toHex().

Referenced by computeHashString(), llvm::getUniqueInternalLinkagePostfix(), and llvm::getUniqueModuleId().

◆ update() [1/2]

◆ update() [2/2]

void MD5::update ( StringRef Str)

Updates the hash for the StringRef provided.

Add the bytes in the StringRef Str to the hash.

Definition at line 227 of file MD5.cpp.

References update().

Member Data Documentation

◆ a

MD5_u32plus llvm::MD5::a = 0x67452301

Definition at line 97 of file MD5.h.

◆ b

MD5_u32plus llvm::MD5::b = 0xefcdab89

Definition at line 98 of file MD5.h.

◆ block

MD5_u32plus llvm::MD5::block[16]

Definition at line 104 of file MD5.h.

◆ buffer

uint8_t llvm::MD5::buffer[64]

Definition at line 103 of file MD5.h.

◆ c

MD5_u32plus llvm::MD5::c = 0x98badcfe

Definition at line 99 of file MD5.h.

◆ d

MD5_u32plus llvm::MD5::d = 0x10325476

Definition at line 100 of file MD5.h.

◆ hi

MD5_u32plus llvm::MD5::hi = 0

Definition at line 101 of file MD5.h.

◆ lo

MD5_u32plus llvm::MD5::lo = 0

Definition at line 102 of file MD5.h.


The documentation for this class was generated from the following files: