我正在将 .NET 应用程序的一部分移植到 Linux 上的 Qt。我正在尝试复制 .NET 函数的结果以创建密码 + 盐的 SHA-256 哈希。.NET 代码是
return new SHA256Managed().ComputeHash(buffer);
我有创建哈希的代码,但它不是一种允许我将它嵌入到 json 对象中的形式。
// create the hash of the salt+password
Botan::SecureVector<Botan::byte> passwordHash = HashData(salt,StringToArray(m_password));
// convert to a QByteArray
QByteArray qPasswordHash;
for(uint i=0; i<passwordHash.size();++i){
qPasswordHash[i]= passwordHash[i];
}
作为参考,StringToArray 方法如下所示
QByteArray StringToArray(QString szInput){
QByteArray buffer = szInput.toUtf8().data();
return buffer;
}
qPasswordHash 是否需要通过 Base64 过滤器(例如文档中显示的过滤器)才能匹配 .NET 类的输出?如果是这样,您能否指出示例代码或提供使用此 Botan 方法的正确语法示例?