title: byte[] to unsigned BigInteger?
body: <p><strong>Motivation:</strong>
  I would like to convert hashes (MD5/SHA1 etc) into decimal integers for the purpose of making barcodes in Code128C.
  For simplicity, I prefer all the resulting (large) numbers to be positive.</p>
  <p>I am able to convert byte[] to BigInteger in C#...<br />
  Sample from what I have so far:</p>
  <pre><code>byte[] data;
  byte[] result;
  BigInteger biResult;
  
  result = shaM.ComputeHash(data);
  biResult = new BigInteger(result);
  </code></pre>
  <p>But (rusty CS here) am I correct that a byte array can always be interpreted in two ways:</p>
  <ul>
  <li>(A): as a signed number</li>
  <li>(B): as an unsigned number</li>
  </ul>
  <p><strong>Is it possible to make an UNSIGNED BigInteger from a byte[] in C#?</strong></p>
  <p>Should I simply prepend a 0x00 (zero byte) to the front of the byte[]?</p>
  <p><strong>EDIT:</strong>
  Thank you to AakashM, Jon and Adam Robinson, <em><strong>appending</strong></em> a zero byte achieved what I needed.</p>
  <p><strong>EDIT2:</strong>
  The main thing I should have done was to read the detailed doc of the BigInteger(byte[]) constructor, then I would have seen the sections about how to restrict to positive numbers by appending the zero byte.</p>