【发布时间】:2015-11-12 12:56:35
【问题描述】:
我正在涂鸦this SHA-256 的实现。我正在尝试编写一个产生 sha(0)、sha(1)、...的程序,但我做不到。我天真地尝试过
#include <iostream>
#include "sha256.h"
int main(int argc, char *argv[]){
for (int i=0; i < 4; i++)
std::cout << sha256("i");
return 0;
}
当然,这不会产生 sha256(0), sha256(1), ...,而是将 i 解释为字母 i,而不是整数变量 i。关于如何解决这个问题的任何建议?改变功能实现本身是不可行的,所以我正在寻找另一种方法。显然我对 C++ 了解不多,但任何建议都将不胜感激。
编辑:
#include <iostream>
#include "sha256.h"
#include <sstream>
int main(int argc, char *argv[])
{
std::cout << "This is sha256("0"): \n" << sha256("0") << std::endl;
std::cout << "Loop: " << std::endl;
std::stringstream ss;
std::string result;
for (int i=0; i < 4; ++i)
{
ss << i;
ss >> result;
std::cout << sha256(result) << std::endl;
}
return 0;
【问题讨论】:
-
将
sha256("i")更改为sha256(i) -
@underscore 不是真的,因为 SHA 需要一个字符串。