C++ SHA256代码实现

前言说明

sha1库是一种哈希算法,用以生成结果为160bit的数据摘要,即20个字节。sha256结果为256bit,即32个字节。

摘要的意思是,抽象为任意大小的数据为固定长度数据,结果是由于全部原始数据经过计算得出,逆推则无法计算除准确结果。

摘要的特性:单向性 映射收敛性 不可篡改性 标准可验证性

由于以上特性,sha哈希被广泛用于软件工程中。例如git软件版本管理工具,就是使用sha1算法计算文件和切片的指纹值。Bitcoin,使用sha256作为数据验证依据。

代码

包含头文件#include "openssl/sha.h"

void SHA256String(const std::string &strInput, std::string &strOutput)
{
unsigned char szSHA256[32];
SHA256((const unsigned char *)strInput.c_str(), strInput.length(), szSHA256);
for (int i = 0; i < 32; i++) 
{
char szBuf[32] = { 0 };
sprintf(szBuf, "%02x", szSHA256[i]);
strOutput += szBuf;
}
}

提供在线测试网站sha256在线解密 在线加密 (ttmd5.com)

上一篇:使用Docker之镜像的拉取、查询、删除


下一篇:金山云KS3 V4签名 get 文件 Python脚本 demo