Вы хотите использовать шифрование, а не хэширование. SHA в порядке, но используйте для этого методы шифрования. Проблема с шифрованием всегда в том, где поставить ключ для него. Вы не упомянули, была ли это рабочая станция или сервер, на котором вы это делали. На сервере я считаю, что лучше использовать ACL для ограничения доступа к ключу reg. Администраторы обычно могут получить доступ к ключу шифрования в любом случае ... вам нужно где-то доверять. На рабочей станции вы можете использовать шифрование и хранить ключ в коде или использовать сертификат и ограничить доступ к нему, по крайней мере, в корпоративной среде ... не для продажи программного обеспечения).
Вы можете использовать класс ProtectedData, но имейте в виду, что он использует профили пользователей для своего использования ключа, и поэтому вы должны убедиться, что вы подражаете пользователю, у которого есть профиль с нужным вам ключом. Это может или не может быть тривиальным и может или не может вызвать головные боли и проблемы безопасности.