Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: mBuinoBlinky PB_Emma_Ethernet SLOTrashHTTP Garagem ... more
You are viewing an older revision! See the latest version
Homepage
This library implements the following algorithms :
- RC4
- AES (AES-128, AES-192, AES-256)
- MD2
- MD5
- SHA-1
- SHA-2 (SHA-224, SHA-256, SHA-384, SHA-512)
TODO¶
- implement DES and 3DES (currently working on it)
- implement HMAC (HMAC-MD5, HMAC-SHA1, HMA-SHA256)
Computing hash¶
You can compute the hash of some data in two different ways. The first one is the easiest, each hash algorithm has a static method that takes some data and compute the hash from it.
Computing hash using method 1
#include "Crypto.h"
#include "mbed.h"
static const char msg[] = "mbed is great !";
int main()
{
uint8_t digest[16];
MD2::computeDigest(digest, (uint8_t*)msg, strlen(msg));
printf("digest: ");
for(int i = 0; i < 16; ++i)
printf("%02x", digest[i]);
printf("\n");
return 0;
}
The second one is slightly slower but it computes the hash as you get it.
Computing hash using method 1
#include "Crypto.h"
#include "mbed.h"
static const char msg[] = "mbed is great !";
int main()
{
uint8_t digest[16];
MD2 h;
h.add((uint8_t*)msg, strlen(msg));
h.computeDigest(digest);
printf("digest: ");
for(int i = 0; i < 16; ++i)
printf("%02x", digest[i]);
printf("\n");
return 0;
}