我正在使用Crypto++ Salsa20作为我项目的一部分。上面的链接有一个示例代码,用于定义
byte key[32];
所以我有一个64字节的字符串。我从SHA256得到了这个值。基本上它们是十六进制值。所以我相信这可以存储在密钥中。
string hashVal = "b684f0912266e387eded257b8107b6fc65f0ed97773ecb09078c9a8004d08563";
我需要将此值存储到key [32]中。我尽力将字符串转换为键但从未通过。
byte *plaintextBytes = (byte *) hashVal.c_str();
OR
byte *plaintextBytes = new byte[hashVal.length()];
key = passphraseBytes;
任何人都可以帮我解决这个问题。
答案 0 :(得分:0)
使用memcpy:
std::memcpy(key, &hashVal[0], std::min(32, hashVal.size());
这假设您不需要空终止符。