Private Key Generator

This key derivation function (KDF) allows you to generate a private key for any blockchain using the Secp256k1 curve (i.e Bitcoin and Ethereum), using any seed and password of choice.
It is resistant to trivial dictionary and rainbow table attacks, unlike the conventional method of using SHA256 with a single input.
With that said, resistance to brute-force attacks depends on the input. It is recommended to use a strong password and, preferably, a non-stereotypical quote or text as the seed.
The idea is to use a relatively large seed, such as a quote, poem, or page from a book, combined with a shorter personal password that is not used in any other application

Algorithm

  1. Encode both seed and password to UTF-8.
  2. Hash (keccak-256) the encoded seed and password separately r amount of times, where r = seed.length * password.length 2.
  3. Concatenate the hashed seed with the hashed password and hash the concatenated hashes for r rounds again.
  4. Calculate the private key d by bringing the resulting hash within the interval 1 to n (order of curve), hash mod n = d.

Generated Private Key: