2022
-
Snazzier parameters in PHP 8
Jan 12
PHP continues to develop and evolve. Today let’s take a closer look at how properties have changed in recent releases.
-
Weighted random choice in PHP
Jan 11
PHP’s native random_int() function can be used to easily create a weighted random choice between multiple, otherwise equal options.
-
Verifying randomness in PHP [Part 2]
Jan 10
How random is random_bytes() in PHP? Are you sure?
-
Verifying randomness in PHP [Part 1]
Jan 9
How random is PHP’s random_int() function really?
-
Hashing is not encryption
Jan 8
Encryption, encoding, and hashing are three related but distinct concepts. It’s important for you to understand all three.
-
Using a 3D printer for practical home repair
Jan 6
I taught myself 3D modeling so I could print and cast a bracket for my son’s bed out of epoxy. It was a hugely rewarding journey!
-
Demystifying forms of encryption
Jan 5
There are three types of encryption every developer should know: symmetric, asymmetric, and envelope (which is a combination of the previous two).
-
End-to-end encrypted secret sharing
Jan 3
Secret sharing typically requires a trusted third party to communicate a secret from point A to B. Encrypting those secrets at point A and only allowing point B to decrypt them removes any risk in the transfer.
-
A new tech stack for WordPress
Jan 2
A solid blog starts with a solid foundation – in this case WordPress and the tech stack that powers it.
2020
-
Cracking the Uncrackable – Hashtopolis
Nov 30
In part 5 of our Bitcoin series, we leverage Hashtopolis to distribute a cracking operation across multiple independent machines.
-
Cracking the Uncrackable – Hashing Setup
Nov 23
When guessing passwords by hand isn’t enough, bring out the big guns: Hashcat. Extracting a hash from a Bitcoin wallet with bitcoin2john, setting up the attack — and why it can take until the next big bang.
-
Cracking the Uncrackable – Password Guessing
Nov 16
You set a password on your Bitcoin wallet, forgot it, and now Bitcoin has exploded in value. If you remember pieces (a few words, a birth year), btcrecover can build every likely combination from a token list and test each against your wallet.