Gerar um hash SHA256 com Crypto ++, usando uma string como entrada e saíd

Preciso de um exemplo de como usar o Crypto ++ para gerar um hash SHA256 a partir de um std :: string e gerar um std :: string. Não consigo entender. Tudo o que tentei me dá saída inválida.

Aqui está o novo código após a resposta do interjay:

string SHA256(string data)
{
    byte const* pbData = (byte*) data.data();
    unsigned int nDataLen = data.size();
    byte abDigest[CryptoPP::SHA256::DIGESTSIZE];

    CryptoPP::SHA256().CalculateDigest(abDigest, pbData, nDataLen);

    return string((char*)abDigest);
}

A saída para SHA256 ("A");

Como posso transformar isso em um formato legível?

Graças à resposta de interjay, consegui gerar o hash fina

questionAnswers(3)

yourAnswerToTheQuestion