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++)