Transforming a key into a seed with the most entropy
What you're looking for is called a key derivation function, and more specifically a key stretching function.

A key derivation function takes some variable-size material and turns it into a fixed-size key in a deterministic way, such that calling the same function on the same input yields the same key, and the original material cannot be reconstructed from the derived key except by trial and error.

A key stretching function is a particular kind of key derivation function that adds an element of slowness. This is necessary when the input consists of low-entropy data such as a password. The legitimate user only has to calculate the result once, but an attacker who attempts to guess the password has to make the calculation once per guess, so the slowness hurts the attacker more than the legitimate user. Note that the function must be designed so that each attempt requires a complete new calculation: there is no work that can be factored between computing f(Hello) and f(Hellp).

In addition to taking the password as input, you should pass a unique label (a string that doesn't need to be kept secret), so that if you ever want to derive a different key from that password, you can pick a different label. The label should typically include at least the name of your application, the user name or ID, and a version counter. The label also needs to be unique in that nobody else in the world uses the same label, because if the same label is reused many times, an attacker could pre-compute stretched keys for common passwords for that particular label.

A key stretching function is also known as a password-based key derivation function. These functions are also what is needed to hash passwords (the salt in password hashing corresponds to the label in key stretching). Common choices are PBKDF2, bcrypt and scrypt.

Note that the stretched key will not have more entropy than the password, only as much entropy as the password. That's the best you can hope for. Making the stretching operation slow reduces the impact of brute force attempts, but it cannot eliminate them. If you produce a 128-bit key from a password that's chosen from a 4000-word dictionary, the resulting key still only has 12 bits of entropy — less if the password wasn't chosen randomly.