Port of TI's CC3100 Websock camera demo. Using FreeRTOS, mbedTLS, also parts of Arducam for cams ov5642 and 0v2640. Can also use MT9D111. Work in progress. Be warned some parts maybe a bit flacky. This is for Seeed Arch max only, for an M3, see the demo for CM3 using the 0v5642 aducam mini.

Dependencies:   mbed

Embed: (wiki syntax)

« Back to documentation index

md5.h File Reference

md5.h File Reference

MD5 message digest algorithm (hash function) More...

Go to the source code of this file.

Data Structures

struct  md5_context
 MD5 context structure. More...

Functions

void md5_init (md5_context *ctx)
 Initialize MD5 context.
void md5_free (md5_context *ctx)
 Clear MD5 context.
void md5_starts (md5_context *ctx)
 MD5 context setup.
void md5_update (md5_context *ctx, const unsigned char *input, size_t ilen)
 MD5 process buffer.
void md5_finish (md5_context *ctx, unsigned char output[16])
 MD5 final digest.
void md5 (const unsigned char *input, size_t ilen, unsigned char output[16])
 Output = MD5( input buffer )
int md5_file (const char *path, unsigned char output[16])
 Output = MD5( file contents )
void md5_hmac_starts (md5_context *ctx, const unsigned char *key, size_t keylen)
 MD5 HMAC context setup.
void md5_hmac_update (md5_context *ctx, const unsigned char *input, size_t ilen)
 MD5 HMAC process buffer.
void md5_hmac_finish (md5_context *ctx, unsigned char output[16])
 MD5 HMAC final digest.
void md5_hmac_reset (md5_context *ctx)
 MD5 HMAC context reset.
void md5_hmac (const unsigned char *key, size_t keylen, const unsigned char *input, size_t ilen, unsigned char output[16])
 Output = HMAC-MD5( hmac key, input buffer )
int md5_self_test (int verbose)
 Checkup routine.

Detailed Description

MD5 message digest algorithm (hash function)

Copyright (C) 2006-2013, ARM Limited, All Rights Reserved

This file is part of mbed TLS (https://tls.mbed.org)

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.

Definition in file md5.h.


Function Documentation

void md5 ( const unsigned char *  input,
size_t  ilen,
unsigned char  output[16] 
)

Output = MD5( input buffer )

Parameters:
inputbuffer holding the data
ilenlength of the input data
outputMD5 checksum result

Definition at line 316 of file md5.c.

int md5_file ( const char *  path,
unsigned char  output[16] 
)

Output = MD5( file contents )

Parameters:
pathinput file name
outputMD5 checksum result
Returns:
0 if successful, or POLARSSL_ERR_MD5_FILE_IO_ERROR

Definition at line 331 of file md5.c.

void md5_finish ( md5_context ctx,
unsigned char  output[16] 
)

MD5 final digest.

Parameters:
ctxMD5 context
outputMD5 checksum result

Definition at line 286 of file md5.c.

void md5_free ( md5_context ctx )

Clear MD5 context.

Parameters:
ctxMD5 context to be cleared

Definition at line 88 of file md5.c.

void md5_hmac ( const unsigned char *  key,
size_t  keylen,
const unsigned char *  input,
size_t  ilen,
unsigned char  output[16] 
)

Output = HMAC-MD5( hmac key, input buffer )

Parameters:
keyHMAC secret key
keylenlength of the HMAC key
inputbuffer holding the data
ilenlength of the input data
outputHMAC-MD5 result

Definition at line 429 of file md5.c.

void md5_hmac_finish ( md5_context ctx,
unsigned char  output[16] 
)

MD5 HMAC final digest.

Parameters:
ctxHMAC context
outputMD5 HMAC checksum result

Definition at line 404 of file md5.c.

void md5_hmac_reset ( md5_context ctx )

MD5 HMAC context reset.

Parameters:
ctxHMAC context to be reset

Definition at line 420 of file md5.c.

void md5_hmac_starts ( md5_context ctx,
const unsigned char *  key,
size_t  keylen 
)

MD5 HMAC context setup.

Parameters:
ctxHMAC context to be initialized
keyHMAC secret key
keylenlength of the HMAC key

Definition at line 364 of file md5.c.

void md5_hmac_update ( md5_context ctx,
const unsigned char *  input,
size_t  ilen 
)

MD5 HMAC process buffer.

Parameters:
ctxHMAC context
inputbuffer holding the data
ilenlength of the input data

Definition at line 395 of file md5.c.

void md5_init ( md5_context ctx )

Initialize MD5 context.

Parameters:
ctxMD5 context to be initialized

Definition at line 83 of file md5.c.

int md5_self_test ( int  verbose )

Checkup routine.

Returns:
0 if successful, or 1 if the test failed

Definition at line 547 of file md5.c.

void md5_starts ( md5_context ctx )

MD5 context setup.

Parameters:
ctxcontext to be initialized

Definition at line 99 of file md5.c.

void md5_update ( md5_context ctx,
const unsigned char *  input,
size_t  ilen 
)

MD5 process buffer.

Parameters:
ctxMD5 context
inputbuffer holding the data
ilenlength of the input data

Definition at line 236 of file md5.c.