我正在尝试对系统上的文件进行哈希处理,而C ++代码中的哈希值是正确的长度,但这与Private Sub Worksheet_Calculate()
If Worksheets("NameHere").Range("A1") Then MacroRuns
Worksheets("NameHere").Range("A1") = False
End Sub
我已经尝试实现了到目前为止我在stackoverflow上看到的一切的混合体,最终使一些东西几乎可以正常工作。
$ echo -n file.txt | sha256sum
请原谅,我正在尝试通过少量文档学习如何使用此功能,而大多数人只是在尝试对短字符串进行哈希处理。
void sha256_file(const std::string &fn)
{
FILE *file;
unsigned char buf[8192];
unsigned char output[SHA256_DIGEST_LENGTH];
size_t len;
SHA256_CTX sha256;
file = fopen(fn.c_str(), "rb");
if(file == NULL)
// do whatever
else
{
SHA256_Init(&sha256);
while((len = fread(buf, 1, sizeof buf, file)) != 0)
SHA256_Update(&sha256, buf, len);
fclose(file);
SHA256_Final(output, &sha256);
for(int i = 0; i < SHA256_DIGEST_LENGTH; i++)
printf("%02x", output[1]);
printf("\n");
}
是我用来检查哈希的内容,但是输出是不同的。我会复制粘贴,但是它在另一个系统上。
答案 0 :(得分:1)
很容易,您在打印循环中执行的是setup-config.php
而不是[1]
。
[i]
应该是
for(int i = 0; i < SHA256_DIGEST_LENGTH; i++)
printf("%02x", output[1]);
傻拉丁字母!