Check a deck

Paste a hand's key and fingerprint from Clearfelt's Hand History (Copy key). This page hashes the key, re-shuffles the deck exactly as the app does, and lists all 52 cards in dealing order. Everything runs in your browser.

How it works

commit = SHA-256(key)
deck   = 2s 2h 2d 2c 3s ... As Ah Ad Ac   (card = rank*4 + suit)
words  = SHA-256(key || uint32_be(k)) for k = 0, 1, 2 ... as big-endian uint32s
for i = 51 down to 1:
    n = i + 1; skip words >= floor(2^32 / n) * n
    j = word mod n; swap deck[i], deck[j]
deal   = deck[0], deck[1], ...: one card each starting left of the button,
         twice around; then burn + 3, burn + 1, burn + 1

The fingerprint is on screen before anyone acts, so the order can't change during the hand. The board comes off the same locked deck whether players fold or call.