.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;
}
.NET クラスからの出力と一致させるために、qPasswordHash をドキュメントに示されているような Base64 フィルターに通す必要がありますか? もしそうなら、コード例を教えてもらえますか、またはこの Botan メソッドを使用するための正しい構文の例を提供できますか?