opensslsha1算法源码c++版

来源:互联网 发布:整型数据输入说明符 编辑:程序博客网 时间:2024/06/05 17:41

opensslsha1算法源码c++版

#include <iostream>  #include <openssl/sha.h>   #include <openssl/crypto.h>  // OPENSSL_cleanse  #pragma comment(lib, "libeay32.lib")  using namespace std;      const char *orgStr = "hello"; //待加密的字符串     void mysh1()      {          SHA_CTX c;//SHA_CTX结构体          unsigned char md[SHA_DIGEST_LENGTH];          SHA1((unsigned char *)orgStr, strlen(orgStr), md); //补位         SHA1_Init(&c);  //初始化        SHA1_Update(&c, orgStr, strlen(orgStr)); //进行hash //SHA1Transform在SHA1_Update中调用,是内部函数,不需要用户调用        SHA1_Final(md, &c);//加密完成          OPENSSL_cleanse(&c, sizeof(c)); //清理结构体         printsha1(md, SHA_DIGEST_LENGTH);  //输出密文    }      // 字符串格式化输出    void printsha1(unsigned char *md, int len)      {          int i = 0;          for (i = 0; i < len; i++)             {              printf("%02x", md[i]);          }          printf("\n");      }  
0 0