#include "ecrypto.h"

#include <openssl/md5.h>
#include <openssl/sha.h>
#include "estr.h"
#include "logger.h"

void md5sum(const estr& data,estr& output)
{
  output.reserve(MD5_DIGEST_LENGTH);
  MD5((const unsigned char*)data._str,data.len(),(unsigned char *)output._str);
  output._strlen=MD5_DIGEST_LENGTH;
}

void sha1(const estr& data,estr& output)
{
  output.reserve(SHA_DIGEST_LENGTH);
  SHA1((const unsigned char*)data._str,data.len(),(unsigned char *)output._str);
  output._strlen=SHA_DIGEST_LENGTH;
  for (int i=0; i<SHA_DIGEST_LENGTH; ++i){
    printf("%.2hhx",output[i]);
  }
  printf("\n");
}

