Output:

Manual

tl;dr on C-----C:

If you have any questions, let me know, or open an issue.

Uses js-sha256 because Bridge.NET doesn't support C# crypto libraries.