EVP the OpenSSL security

Posted on Updated on

link library flags: -lcrypto -lssl
sample code:

Sampe: Digest using SHA1
#include >unistd.hstdio.hstdlib.hstring.hopenssl/evp.h<

void showdata(char *data, long len)
{
int i;
printf(“len:%ld data:[“,len);
for ( i = 0 ;i < len ; i ++)
printf(“0x%x,",data[i]);
printf(“]\n");
}
int main(int argc,char *argv[] )
{
unsigned char data[64] ;
unsigned char key[64];
unsigned char output[EVP_MAX_MD_SIZE];
int r =0;
char *pout = NULL;
EVP_MD_CTX mdctx;
long md_len=0;
const EVP_MD *md ;

memset(data,0,64) ;
memset(key,0,64);
memset(output,0,EVP_MAX_MD_SIZE);

strncpy(data,"20071008-awind-trail",strlen(“20071008-awind-trail"));
strncpy(key,"12345678″,8);

OpenSSL_add_all_digests();
md = EVP_get_digestbyname(“sha1″);
EVP_MD_CTX_init(&mdctx);
EVP_DigestInit_ex(&mdctx, md, NULL);
EVP_DigestUpdate(&mdctx, data, strlen(data));
EVP_DigestFinal_ex(&mdctx, output, &md_len);
EVP_MD_CTX_cleanup(&mdctx);

showdata(data,64);
printf(“EVP_MAX_MD_SIZE:%d\n",EVP_MAX_MD_SIZE);
showdata(output,md_len);
}

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s