C++sha256算法
时间: 2024-01-11 19:21:21 浏览: 29
以下是一个使用C++实现的SHA256算法的示例代码:
```cpp
#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
#include <openssl/sha.h>
std::string sha256(const std::string& input) {
unsigned char hash[SHA256_DIGEST_LENGTH];
SHA256_CTX sha256;
SHA256_Init(&sha256);
SHA256_Update(&sha256, input.c_str(), input.length());
SHA256_Final(hash, &sha256);
std::stringstream ss;
for (int i = 0; i < SHA256_DIGEST_LENGTH; i++) {
ss << std::hex << std::setw(2) << std::setfill('0') << (int)hash[i];
}
return ss.str();
}
int main() {
std::string input = "Hello, world!";
std::string hash = sha256(input);
std::cout << "SHA256 hash of \"" << input << "\" is: " << hash << std::endl;
return 0;
}
```
这段代码使用了OpenSSL库中的SHA256函数来计算给定输入的SHA256哈希值。它将输入字符串转换为字节数组,并使用SHA256_Init、SHA256_Update和SHA256_Final函数来计算哈希值。最后,它将哈希值转换为十六进制字符串并返回。