Snip2Code is shutting down.
It has been quite a ride, since 2013 when we launched our first prototype: thanks to the effort of you guys we collected more than 3 million snippets!
We are very proud to help all our users to be more efficient in their jobs, and to be the central point to share programming knowledge for everyone.
Our basic service is free, so we always survived on our own resources to give you Snip2Code.
Unfortunately, we are no more in the financial position to sustain this effort, and therefore we are announcing here our permanent shut down,
which will take place on August 1st, 2020.
Please save your private snippets using our backup function in the settings, here.
IF YOU WANT TO SAVE SNIP2CODE, PLEASE CONSIDER DOING A DONATION!
This will allow us to pay for the servers and the infrastructure. If you want to donate, Contact Us!
by
84k 18
0
4
1,261
0
Top 1% !
Famous
Tagged
Specified
Popularity: 27144th place

Published on:

Architecturex86_64
LanguageC#
Windows VersionWindows7

DecodeChecked: Uses the checksum in the last 4 bytes of the decoded data to verify the rest are correct. The checksum is          removed from the returned data.

Uses the checksum in the last 4 bytes of the decoded data to verify the rest are correct. The checksum is
removed from the returned data.

<exception cref="AddressFormatException">If the input is not base 58 or the checksum does not validate.</exception>
Copy Embed Code
<iframe id="embedFrame" style="width:600px; height:300px;"
src="https://www.snip2code.com/Embed/1373921/DecodeChecked--Uses-the-checksum-in-the-?startLine=0"></iframe>
Click on the embed code to copy it into your clipboard Width Height
Leave empty to retrieve all the content Start End
using System; using System.Linq; using System.Text; using CoiniumServ.Coin.Address.Exceptions; using CoiniumServ.Cryptology; using Org.BouncyCastle.Math; /// <summary> /// Uses the checksum in the last 4 bytes of the decoded data to verify the rest are correct. The checksum is /// removed from the returned data. /// </summary> /// <exception cref="AddressFormatException">If the input is not base 58 or the checksum does not validate.</exception> public static byte[] DecodeChecked(string input) { var tmp = Decode(input); if (tmp.Length < 4) throw new AddressFormatException("Input too short"); var checksum = new byte[4]; Array.Copy(tmp, tmp.Length - 4, checksum, 0, 4); var bytes = new byte[tmp.Length - 4]; Array.Copy(tmp, 0, bytes, 0, tmp.Length - 4); tmp = bytes.DoubleDigest(); var hash = new byte[4]; Array.Copy(tmp, 0, hash, 0, 4); if (!hash.SequenceEqual(checksum)) throw new AddressFormatException("Checksum does not validate"); return bytes; }
If you want to be updated about similar snippets, Sign in and follow our Channels

blog comments powered by Disqus