¿Generando un hash SHA256 con Crypto ++, usando una cadena como entrada y salida?

Necesito un ejemplo de cómo usar Crypto ++ para generar un hash SHA256 desde un std :: string y generar un std :: string. Parece que no puedo entenderlo. Todo lo que he probado me da una salida no válida.

Aquí está el nuevo código después de la respuesta del 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);
}

La salida para SHA256 ("A"); e

¿Cómo puedo convertir esto en un formato legible?

Gracias a la respuesta de interjay pude generar el hash final.