Improving the BrainKey class

master
Nelson R. Perez 2016-12-18 17:15:41 -05:00
parent 2059093be4
commit f93f91fc1f
2 changed files with 19 additions and 3 deletions

View File

@ -20,11 +20,18 @@ public class BrainKey {
// The size of the word dictionary
public static final int DICT_WORD_COUNT = 49744;
// The required number of words
/* The required number of words */
public static final int BRAINKEY_WORD_COUNT = 12;
/* The corresponding private key derivated from the brain key */
private ECKey mPrivateKey;
/* The actual words from this brain key + the sequence number */
private String mBrainKey;
/* The sequence number */
private int sequenceNumber;
/**
* Method that will generate a random brain key
*
@ -49,7 +56,6 @@ public class BrainKey {
stringBuilder.append(word);
stringBuilder.append(" ");
}
System.out.println("Suggestion: '"+stringBuilder.toString().trim()+"'");
return stringBuilder.toString().trim();
}
/**
@ -60,6 +66,8 @@ public class BrainKey {
* @param sequence Sequence number
*/
public BrainKey(String words, int sequence) {
this.mBrainKey = words;
this.sequenceNumber = sequence;
String encoded = String.format("%s %d", words, sequence);
try {
MessageDigest md = MessageDigest.getInstance("SHA-512");
@ -100,4 +108,12 @@ public class BrainKey {
DumpedPrivateKey wif = this.mPrivateKey.decompress().getPrivateKeyEncoded(NetworkParameters.fromID(NetworkParameters.ID_MAINNET));
return wif.toString();
}
}
public String getBrainKey(){
return mBrainKey;
}
public int getSequenceNumber(){
return sequenceNumber;
}
}