Ser*_*tti 0 c++ hex md5 valueconverter
我正在尝试找到一种非常轻量级的方法,可以使用下面的两个示例对一个char或md5进行挖掘.
char example[0x34];
char example_final[0x200];
sprintf(example, "%s", "4E964DCA5996E48827F62A4B7CCDF045");
Run Code Online (Sandbox Code Playgroud)
有关使用以下两个PHP函数的示例.
MD5:
sprintf(example_final, "%s", md5(example));
output: 149999b5b26e1fdeeb059dbe0b36c3cb
Run Code Online (Sandbox Code Playgroud)
HEX:
sprintf(example_final, "%s", bin2hex(example));
output: 3445393634444341353939364534383832374636324134423743434446303435
Run Code Online (Sandbox Code Playgroud)
这是最轻量级的做法.我正在考虑一些大的char值,它的十六进制值比制作一个循环foreach char,但不确定.
一个例子bin2hex看起来像这样:
#include <string>
#include <iostream>
std::string bin2hex(const std::string& input)
{
std::string res;
const char hex[] = "0123456789ABCDEF";
for(auto sc : input)
{
unsigned char c = static_cast<unsigned char>(sc);
res += hex[c >> 4];
res += hex[c & 0xf];
}
return res;
}
int main()
{
std::string example = "A string";
std::cout << "bin2hex of " << example << " gives " << bin2hex(example) << std::endl;
}
Run Code Online (Sandbox Code Playgroud)