Gerando um hash de documento XML em c #

Qual é a melhor maneira de fazer um documento XML em C #? Eu gostaria de hash um documento XML para que eu possa dizer se ele foi alterado manualmente a partir de quando foi gerado. Eu não estou usando isso para segurança - está tudo bem se alguém alterar o XML e alterar o hash para corresponder.

Por exemplo, eu faria o hash dos nós filhos da raiz e armazenaria o hash como um atributo da raiz:

<RootNode Hash="abc123">
    <!-- Content to hash here -->
</RootNode>

questionAnswers(4)

yourAnswerToTheQuestion