public void TestRandomEvidenceHashes()
        {
            var rng  = new PseudoRandom(0x262E5635);
            var data = new byte[512];

            using (var sha1 = new SHA1CryptoServiceProvider())
                using (var ms = new MemoryStream())
                {
                    var bf = new BinaryFormatter();
                    for (var n = 0; n < 10000; ++n)
                    {
                        rng.NextBytes(data);
                        var evidenceInfo = Convert.ToBase64String(data);

                        ms.SetLength(0);
                        bf.Serialize(ms, evidenceInfo);
                        var expectedHash = ToBase32(sha1.ComputeHash(ms.ToArray()));
                        var actualHash   = UserUpgradeStrategy.ComputeEvidenceHash(evidenceInfo);

                        Assert.AreEqual(expectedHash, actualHash, "n = {0}", n);
                    }
                }
        }
 public void TestKnownEvidenceHashes()
 {
     Assert.AreEqual("bxushgmob2kgr2bbhnkomw10ycdtxyd1", UserUpgradeStrategy.ComputeEvidenceHash(@"file:///c:/program files/clearcanvas/clearcanvas workstation/clearcanvas.desktop.executable.exe".ToUpperInvariant()));
     Assert.AreEqual("h4r1xj22u5jcc205qirm1uq5sdyih1a5", UserUpgradeStrategy.ComputeEvidenceHash(@"file:///c:\Program Files\ClearCanvas\ClearCanvas Workstation\ClearCanvas.Desktop.Executable.exe".ToUpperInvariant()));
 }