OpenSSL中HMAC,MD5以及对称加密算法的应用

HMAC和MD5:

  1. HMAC的使用:
    #include <openssl/hmac.h>
    unsigned char *HMAC(const EVP_MD *evp_md, const void *key,
                   int key_len, const unsigned char *d, int n,
                   unsigned char *md, unsigned int *md_len);
    其中第一个参数指定HMAC中所使用的具体的散列算法,在这里我们使用sha1(输出是160bit),因此在调用时第一个参数应为EVP_sha1()。key和key_len顾名思义分别是密钥存储的首地址和密钥的字节数目。d和n分别指定了被散列的数据的起始地址和字节数目。md表示散列后的结果存放的目标地址,md_len指向的int被用来记录md的字节数目(在这里是160bit即20个字节)。
  2. MD5的使用:
    #include <openssl/md5.h>
    unsigned char *MD5(const unsigned char *d, unsigned long n,
                      unsigned char *md);
    
    d和n分别指定了被散列的数据的起始地址和字节数目。md存放散列结果(128bit即16个字节)。

对称加密算法的使用(EVP通用加密接口):

  1. 函数原型说明见http://www.openssl.org/docs/crypto/EVP_EncryptInit.html#
  2. 示例代码:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值