• Giorgio Vazzana's avatar
    md5: consistently use uint32_t instead of unsigned int · c78cf00b
    Giorgio Vazzana authored
    Basically to make code clearer and adherent to the
    standard. RFC 1321, on page 2 states
    
    Let the symbol "+" denote addition of words (i.e., modulo-2^32
    addition). Let X <<< s denote the 32-bit value obtained by circularly
    shifting (rotating) X left by s bit positions.
    
    on page 3, section 3.3 states:
    
    A four-word buffer (A,B,C,D) is used to compute the message digest.
    Here each of A, B, C, D is a 32-bit register.
    
    so the algorithm needs to work with integers that are exactly 32bits
    in length. And indeed in struct AVMD5 the MD buffer is declared as
    "uint32_t ABCD[4];", while in the function that performs the block
    transformation the state variables were "unsigned int"s. On
    architectures where sizeof(unsigned int) != sizeof(uint32_t) this
    could be a problem, although I can't name such an architecture from
    the top of my head.
    On a side note, both the reference implementation in RFC 1321 and the
    gnulib implementation (used by md5sum program on GNU systems) use
    uint32_t in the transform function.
    Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
    c78cf00b
Name
Last commit
Last update
..
arm Loading commit data...
avr32 Loading commit data...
bfin Loading commit data...
mips Loading commit data...
ppc Loading commit data...
sh4 Loading commit data...
tomi Loading commit data...
x86 Loading commit data...
Makefile Loading commit data...
adler32.c Loading commit data...
adler32.h Loading commit data...
aes.c Loading commit data...
aes.h Loading commit data...
attributes.h Loading commit data...
audio_fifo.c Loading commit data...
audio_fifo.h Loading commit data...
audioconvert.c Loading commit data...
audioconvert.h Loading commit data...
avassert.h Loading commit data...
avstring.c Loading commit data...
avstring.h Loading commit data...
avutil.h Loading commit data...
base64.c Loading commit data...
base64.h Loading commit data...
bprint.c Loading commit data...
bprint.h Loading commit data...
bswap.h Loading commit data...
colorspace.h Loading commit data...
common.h Loading commit data...
cpu.c Loading commit data...
cpu.h Loading commit data...
crc.c Loading commit data...
crc.h Loading commit data...
crc_data.h Loading commit data...
des.c Loading commit data...
des.h Loading commit data...
dict.c Loading commit data...
dict.h Loading commit data...
error.c Loading commit data...
error.h Loading commit data...
eval.c Loading commit data...
eval.h Loading commit data...
fifo.c Loading commit data...
fifo.h Loading commit data...
file.c Loading commit data...
file.h Loading commit data...
float_dsp.c Loading commit data...
float_dsp.h Loading commit data...
imgutils.c Loading commit data...
imgutils.h Loading commit data...
integer.c Loading commit data...
integer.h Loading commit data...
internal.h Loading commit data...
intfloat.h Loading commit data...
intfloat_readwrite.c Loading commit data...
intfloat_readwrite.h Loading commit data...
intmath.h Loading commit data...
intreadwrite.h Loading commit data...
inverse.c Loading commit data...
lfg.c Loading commit data...
lfg.h Loading commit data...
libavutil.v Loading commit data...
libm.h Loading commit data...
lls.c Loading commit data...
lls.h Loading commit data...
log.c Loading commit data...
log.h Loading commit data...
lzo.c Loading commit data...
lzo.h Loading commit data...
mathematics.c Loading commit data...
mathematics.h Loading commit data...
md5.c Loading commit data...
md5.h Loading commit data...
mem.c Loading commit data...
mem.h Loading commit data...
opt.c Loading commit data...
opt.h Loading commit data...
parseutils.c Loading commit data...
parseutils.h Loading commit data...
pca.c Loading commit data...
pca.h Loading commit data...
pixdesc.c Loading commit data...
pixdesc.h Loading commit data...
pixfmt.h Loading commit data...
random_seed.c Loading commit data...
random_seed.h Loading commit data...
rational.c Loading commit data...
rational.h Loading commit data...
rc4.c Loading commit data...
rc4.h Loading commit data...
samplefmt.c Loading commit data...
samplefmt.h Loading commit data...
sha.c Loading commit data...
sha.h Loading commit data...
softfloat.c Loading commit data...
softfloat.h Loading commit data...
timecode.c Loading commit data...
timecode.h Loading commit data...
timer.h Loading commit data...
timestamp.h Loading commit data...
tree.c Loading commit data...
tree.h Loading commit data...
utils.c Loading commit data...
x86_cpu.h Loading commit data...