Skip to content

Instantly share code, notes, and snippets.

Aaron Toponce atoponce

Block or report user

Report or block atoponce

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
atoponce /
Last active May 26, 2020
Alternate EFF long list in Deseret and Shavian alphabet characters

Alternate EFF long list in Deseret and Shavian alphabet characters

An Idea for Passphrases

Knowing the growing support for Unicode support on the web, including HTML forms, such as usernames and passwords, I decided to create two English spelling reform Diceware word lists in the Deseret Alphabet and the Shavian Alphabet.

atoponce /
Last active May 26, 2020
Another Million Random Digits
title author date geometry header-includes
Another MILLION Random Digits
Aaron Toponce
atoponce /
Last active Apr 10, 2020
Playing card password generator

Playing Card Password Generator

Chris Wellons has done work here with Pokerware, building passphrases from a shuffled deck of cards. This builds using a sufficiently shuffled deck of playing cards, but building random meaningless password strings instead of passphrases.

This is a manual method of password generation without needing a computer. As such, some care must be taken during generation:

atoponce / .gitignore
Last active Mar 23, 2020
Simple Compression Benchmarks
View .gitignore
atoponce /
Last active Nov 12, 2019
32-bit uniform random number generation in the shell in the range of [1, n]

The following shell scripts pass POSIX compiance with posh(1) on Debian. They have also been tested in bash(1), ksh(1), and dash(1) (which provides /bin/sh) on Debian.

Feedback of testing with other shells on other systems to target portability is greatly appreciated. I don't get notified of Gist comments, so reach out to me on Twitter instead.

Execute with an argument as a maximum random number, no bigger than 4294967296:


Verifiable brute force strength

Below are table of various projects that can completely exhaust n-bits of keyspace. In other words, counting completely and fully from 0 to 2^n-1.

This Gist implies no discussion about how this is relevant to quantum computing using Grover's algorithm, meet-in-the-middle or birthday attacks, or anything of the like. It's strictly a Gist about raw speed, measuring the result in bits.

If you know of other note-worthy and verifiable brute force searching projects,

atoponce /
Last active Sep 30, 2019
Magic Hashes

Magic Hashes


Calculating magic hashes for These strings should probably be put into a blacklist preventing users from using them as passwords to mitigate PHP evaluating hashes starting with "0e" as floats.


View gist:c0e988023ac8cdebbec7d900f456a792
A = [0, 0, 0, 0, 1, 0, 0, 2, 0, 2, 1, 1, 1, 2, 0, 0, 2, 0, 1, 0, 1, 2, 1, 1, 0, 1, 2, 0, 3, 0, 2, 3, 0, 1, 1, 0, 1, 0, 1, 2, 1, 1, 0, 1, 0, 1, 0, 1, 2, 3, 1, 1, 1, 1, 0, 1, 0, 2, 1, 0, 0, 0, 1, 1]
min-entropy: H = -log2(p_max)
Shannon: H = -sum(p_i * log2(p_i))
max-entropy: H = -log2(unique(p_i))
min-entropy ~= 4.196397212803504
Shannon ~= 5.158365849770286
max-entropy = 2
You can’t perform that action at this time.