There are endless ways to derive entropy from existing hash algos.
for example you can do sha256("weak password 4") this gives you b4424dd47712534183a59c2bf448ef713ac976af320f1a14180e76b44a85e9d1
You can split that output at the 7th digit. easy to remember because you have had 7 broken bones. b4424dd< - >47712534183a59c2bf448ef713ac976af320f1a14180e76b44a85e9d1
you can swap the parts 47712534183a59c2bf448ef713ac976af320f1a14180e76b44a85e9d1 < b4424dd
Too simple. but in order to test every common weak password, now takes 64x as long. What if you split that hash into groups of 3, and assemble them differently? What if you take half of them and produce another hash?
What if you used sha512?
With a few simple methods like these, part of your algo is secret, so an attacker can never attack it on account of having weak seed entropy such as a short password.
Take notes and practice recovering the output from time to time.