Mercurial > libavutil.hg
comparison md5.c @ 312:93d504c22609 libavutil
get rid of b_used variable (same size with CONFIG_SMALL)
author | michael |
---|---|
date | Tue, 13 Mar 2007 11:57:26 +0000 |
parents | d94fb7e6cb53 |
children | b4277e786617 |
comparison
equal
deleted
inserted
replaced
311:999cbf01173a | 312:93d504c22609 |
---|---|
36 | 36 |
37 typedef struct AVMD5{ | 37 typedef struct AVMD5{ |
38 uint8_t block[64]; | 38 uint8_t block[64]; |
39 uint32_t ABCD[4]; | 39 uint32_t ABCD[4]; |
40 uint64_t len; | 40 uint64_t len; |
41 int b_used; | |
42 } AVMD5; | 41 } AVMD5; |
43 | 42 |
44 const int av_md5_size= sizeof(AVMD5); | 43 const int av_md5_size= sizeof(AVMD5); |
45 | 44 |
46 static const uint8_t S[4][4] = { | 45 static const uint8_t S[4][4] = { |
115 ABCD[3] += a; | 114 ABCD[3] += a; |
116 } | 115 } |
117 | 116 |
118 void av_md5_init(AVMD5 *ctx){ | 117 void av_md5_init(AVMD5 *ctx){ |
119 ctx->len = 0; | 118 ctx->len = 0; |
120 ctx->b_used = 0; | |
121 | 119 |
122 ctx->ABCD[0] = 0x10325476; | 120 ctx->ABCD[0] = 0x10325476; |
123 ctx->ABCD[1] = 0x98badcfe; | 121 ctx->ABCD[1] = 0x98badcfe; |
124 ctx->ABCD[2] = 0xefcdab89; | 122 ctx->ABCD[2] = 0xefcdab89; |
125 ctx->ABCD[3] = 0x67452301; | 123 ctx->ABCD[3] = 0x67452301; |
126 } | 124 } |
127 | 125 |
128 void av_md5_update(AVMD5 *ctx, const uint8_t *src, const int len){ | 126 void av_md5_update(AVMD5 *ctx, const uint8_t *src, const int len){ |
129 int i; | 127 int i, j; |
130 | 128 |
129 j= ctx->len & 63; | |
131 ctx->len += len; | 130 ctx->len += len; |
132 | 131 |
133 for( i = 0; i < len; i++ ){ | 132 for( i = 0; i < len; i++ ){ |
134 ctx->block[ ctx->b_used++ ] = src[i]; | 133 ctx->block[j++] = src[i]; |
135 if( 64 == ctx->b_used ){ | 134 if( 64 == j ){ |
136 body(ctx->ABCD, (uint32_t*) ctx->block); | 135 body(ctx->ABCD, (uint32_t*) ctx->block); |
137 ctx->b_used = 0; | 136 j = 0; |
138 } | 137 } |
139 } | 138 } |
140 } | 139 } |
141 | 140 |
142 void av_md5_final(AVMD5 *ctx, uint8_t *dst){ | 141 void av_md5_final(AVMD5 *ctx, uint8_t *dst){ |
143 int i; | 142 int i, j; |
144 | 143 |
145 ctx->block[ctx->b_used++] = 0x80; | 144 j= ctx->len & 63; |
145 ctx->block[j++] = 0x80; | |
146 | 146 |
147 memset(&ctx->block[ctx->b_used], 0, 64 - ctx->b_used); | 147 memset(&ctx->block[j], 0, 64 - j); |
148 | 148 |
149 if( 56 < ctx->b_used ){ | 149 if( 56 < j ){ |
150 body( ctx->ABCD, (uint32_t*) ctx->block ); | 150 body( ctx->ABCD, (uint32_t*) ctx->block ); |
151 memset(ctx->block, 0, 64); | 151 memset(ctx->block, 0, 64); |
152 } | 152 } |
153 | 153 |
154 for(i=0; i<8; i++) | 154 for(i=0; i<8; i++) |