How casting works

One hex digit, one line

A reading is six hex digits. Each digit gives one line, from the bottom up, with the odds of the yarrow stalks.
0
old yin, moving
1/16
1 2 3
old yang, moving
3/16
4 5 6 7 8
young yang
5/16
9 a b c d e f
young yin
7/16

Ways to cast

Cast takes six digits from your device's secure random number generator.
Seal a question hashes your question with the time, so the same question at the same time always gives the same reading, and anyone can check it.
Today's hexagram hashes only the date, so it is the same for everyone.

The seal

A sealed reading takes your question, a new line and the minute in UTC, and hashes them with SHA-256. The first six hex digits of the hash are the reading.
Settings decides whether the seal takes the minute, the hour or the day.

Check a reading yourself

In any shell, with your question and the minute it was sealed:
printf '%s\n%s' 'your question' 'YYYY-MM-DDTHH:MMZ' | sha256sum | cut -c1-6
And today's hexagram:
printf '%s' 'YYYY-MM-DD' | sha256sum | cut -c1-6