openssl签名验证、信封加密解密、产生随机数、md5摘要

本文介绍了如何使用OpenSSL库进行信封加密解密、数字签名验证以及MD5摘要计算。通过示例代码展示了RSA密钥生成、EVP接口的使用以及MD5算法的应用。
摘要由CSDN通过智能技术生成
#include <stdio.h>
#include <string.h>
#include <openssl/evp.h>
#include <openssl/rsa.h>
#include <openssl/x509.h>
#include <openssl/des.h>
#include "util/Base.h"
typedef   unsigned   char   BYTE;
/*
*
*产生随机数
*
*/
unsigned char *getRandom(unsigned char *buf, size_t l) {
  if (!RAND_bytes(buf, l)) {
    fprintf(stderr, "The PRNG is not seeded!\n");
    return NULL;
  }
  printf((char*)buf);
  return buf;
}
/**
*
*信封加密解密
*参考openssl编程.chm 21.10编程实例4
*
*/
int    EVP_enc()
{

       int                         ret,ekl[2],npubk,inl,outl,total=0,total2=0;

       unsigned long  e=RSA_3;

       char               *ek[2],iv[8],in[100],out[500],de[500];

       EVP_CIPHER_CTX      ctx,ctx2;

       EVP_CIPHER        *type;

       EVP_PKEY            *pubkey[2];

       RSA                      *rkey;

       BIGNUM               *bne;

       int i;

       /* 生成RSA密钥*/

       bne=BN_new();

  
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值