代码拉取完成,页面将自动刷新
#include "client.h"
#include <openssl/evp.h>
#include <openssl/err.h>
char* getSHA256(const char* filePath){
int fd = open(filePath, O_RDONLY);
EVP_MD_CTX* mdctx;
const EVP_MD* md;
unsigned char md_value[EVP_MAX_MD_SIZE];
unsigned int md_len;
unsigned char buf[1024];
size_t bytes;
OpenSSL_add_all_digests();
md = EVP_get_digestbyname("SHA256");
mdctx = EVP_MD_CTX_new();
EVP_DigestInit_ex(mdctx, md, NULL);
while ((bytes = read(fd, buf, sizeof(buf))) != 0){
EVP_DigestUpdate(mdctx, buf, bytes);
}
EVP_DigestFinal_ex(mdctx, md_value, &md_len);
EVP_MD_CTX_free(mdctx);
close(fd);
char* sha256_str = (char*)calloc(65, sizeof(char));
for (unsigned int i = 0; i < md_len; i++) {
sprintf(&sha256_str[i * 2], "%02x", md_value[i]);
}
EVP_cleanup();
return sha256_str;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。