Edit:
This is now hosted at https://bitbucket.org/JeanLucPicard/vanityI decided to clean up and improve the vanity account number generator mentioned before:
https://bitcointalk.org/index.php?topic=303898.msg3691750#msg3691750This is the updated version:
Source code:
https://dl.dropboxusercontent.com/s/gtq6vm1f346oqyy/Vanity.javaCompiled jar file:
https://dl.dropboxusercontent.com/s/f9xdycfu3w73q09/Vanity.jarsha256sums:
4d2e1e182637c564f95fea1e8864fa2364769f42e28ed4135b99b5514a7f4f1f Vanity.jar
3d98075c9e51c99b78f0794fc402dfbfd984f609308b53a234d1efb0f024737f Vanity.java
To run it:
java -jar Vanity.jar
In addition to searching for accounts starting with a given prefix, now it can also search for accounts containing sequences of repeating digits. So there are three modes of operation.
Without any parameters, it will start from a random 16-character secret phrase and keep appending characters to it trying to find vanity-looking accounts:
$ java -jar Vanity.jar
Using a randomly generated secret prefix: )trT-&Ubyp+d]p`k
Generating vanity accounts...
)trT-&Ubyp+d]p`kE$[ gives account number 3333335333097075555
)trT-&Ubyp+d]p`k!)o4 gives account number 8888377001144420555
)trT-&Ubyp+d]p`k!%Bw gives account number 10713333338888888154
With a single parameter, it will use this as the secret prefix instead of a randomly generated one.
$ java -jar Vanity.jar my_secret_password
WARNING: For a given secret prefix, the passwords this program generates
are always the same. Therefore, using a strong secret prefix is crucial.
Anyone who can guess your secret prefix can use this program to also
discover your password. You have been warned.
Using a user-supplied secret prefix: my_secret_password
Generating vanity accounts...
my_secret_password861 gives account number 9999679005505533333
my_secret_password!(k^ gives account number 2111114455001119991
my_secret_password"!uE gives account number 13220066661444888887
With two parameters, it defaults to the original behavior, i.e. looking for shortest account number using the first parameter as secret prefix and the second as the account prefix.
$ java -jar Vanity.jar my_secret_password 888
WARNING: For a given secret prefix, the passwords this program generates
are always the same. Therefore, using a strong secret prefix is crucial.
Anyone who can guess your secret prefix can use this program to also
discover your password. You have been warned.
Using a user-supplied secret prefix: my_secret_password
Looking for the shortest account numbers beginning with 888
Generating vanity accounts...
my_secret_password#$ gives account number 8880281789351433347
my_secret_password^7 gives account number 888082872862915443
my_secret_passwordB`O gives account number 88888386812508853
To repeat the above warning once again:
For a given user-supplied secret prefix, the sequence of generated account numbers is always the same. This is in order to keep the number of characters appended to the secret prefix small. So it is extremely important that you pick up a strong secret prefix. Anybody who can guess your secret prefix can just run this program with it to arrive at your full secret phrase. This obviously doesn't apply when you let the program generate the secret phrase randomly (i.e., running it without any parameters).