Optionally user supplied entropy, instead of the browser PRNG

Disabled by default.  Use only if you know what you are doing,
and are using enough entropy.

A hash of the supplied string is used as the random seed.
aeon
moneromooo-monero 8 years ago
parent 03299a1171
commit f208ee38bc
No known key found for this signature in database
GPG Key ID: 686F07454D6CEFC3

@ -8278,6 +8278,8 @@ var cnBase58 = (function () {
} }
return out.join(""); return out.join("");
} }
this.bintohex = bintohex;
b58.bintohex = bintohex;
function strtobin(str) { function strtobin(str) {
var res = new Uint8Array(str.length); var res = new Uint8Array(str.length);
@ -10250,6 +10252,8 @@ bC0zLjUsMjAuNGgtNkwyNDQuOCwzMTAuNkwyNDQuOCwzMTAuNnoiLz4KPC9nPgo8L3N2Zz4K">
<div class="col s4 right-align "> <div class="col s4 right-align ">
<input class="btn orange" type="button" onclick="js:genwallet(null);" <input class="btn orange" type="button" onclick="js:genwallet(null);"
value="Generate wallet" action=""/> value="Generate wallet" action=""/>
<p>Custom entropy (leave empty to use PRNG)</p>
<input type="text" value="" id="user_entropy_widget" />
</div> </div>
<div class="col s1 offset-s1"><h4>or</h4></div> <div class="col s1 offset-s1"><h4>or</h4></div>
<div class="col s5 offset-s1"> <div class="col s5 offset-s1">
@ -10444,21 +10448,28 @@ current_lang='english';
keys = null; keys = null;
function genwallet(lang) function genwallet(lang)
{ {
spend_key_widget = document.getElementById("spend_key_widget");
view_key_widget = document.getElementById("view_key_widget");
address_widget = document.getElementById("address_widget");
address_qr_widget = document.getElementById("address_qr_widget");
mnemonic_widget = document.getElementById("mnemonic_widget");
user_entropy_widget = document.getElementById("user_entropy_widget")
if (lang!=null) { if (lang!=null) {
current_lang = lang; current_lang = lang;
} }
else { else {
seed = cnUtil.sc_reduce32(cnUtil.rand_32()); var user_entropy = user_entropy_widget.value;
if (user_entropy === "") {
seed = cnUtil.sc_reduce32(cnUtil.rand_32());
}
else {
seed = cnUtil.sc_reduce32(cnUtil.cn_fast_hash(cnBase58.bintohex(user_entropy)));
}
keys = cnUtil.create_address(seed); keys = cnUtil.create_address(seed);
} }
mnemonic = mn_encode(seed,current_lang); mnemonic = mn_encode(seed,current_lang);
spend_key_widget = document.getElementById("spend_key_widget");
view_key_widget = document.getElementById("view_key_widget");
address_widget = document.getElementById("address_widget");
address_qr_widget = document.getElementById("address_qr_widget");
mnemonic_widget = document.getElementById("mnemonic_widget");
spend_key_widget.innerHTML = keys.spend.sec; spend_key_widget.innerHTML = keys.spend.sec;
view_key_widget.innerHTML = keys.view.sec; view_key_widget.innerHTML = keys.view.sec;
address_widget.innerHTML = keys.public_addr; address_widget.innerHTML = keys.public_addr;

@ -1,17 +1,17 @@
-----BEGIN PGP SIGNATURE----- -----BEGIN PGP SIGNATURE-----
Version: GnuPG v1 Version: GnuPG v1
iQIcBAABAgAGBQJWOKIoAAoJEGhvB0VNbO/Dg4oQAJ3BfmphKzlGUA+e8au6HCZw iQIcBAABAgAGBQJWhpkbAAoJEGhvB0VNbO/DvjIP/j3nMpxXXDHxg2dJ4pv7yzDY
4qgflwjOD+FRNP2335WNibST9cmCFd7rBvtbihanTYwqgT3zqVJ20F+eCB0V1IEL xwDpHKMn+l1VtxNsyD63B1IIxWWKnlXIgCx6xJmYRgEN7SZJNw1+yMF0qaZeLalO
iSHCx0XBqM+AWd96m21DhFuvjr85lRHUdTqzV0iVssVXCBhT01ijdUC9KS3KN4Io HcZz9CaZMhvJHgjlfl+3NX+OIX386PHtYDUQIzINYdJ+zXe4v9n+1Vativ4Sd5P/
g8qTNZeRx370vSsuToal8He2CQ8lhyUSUZoExXDC9clB3Jxb6nRtGxK2TvNFjLWD 6Io+40DRTLMkIVTP1lVAXxSsITOhl58rBKQ6h5Cu5+e6pbEeKJPaDOAGLpAASB96
D3fp8qkJZWLFPl9tnIFr9NCEbLegTVmo42jEtjjD6+e6z8hdR6aINuUKnIVUizbW HuMMLMuI7af1otCFJO/pYS9tH2T75j/Y79EYiIvWjNQynZ1PdGOEMleXwlUxY77x
Ls5WQm2DjjS7qDHM6BfYAqTfmjqTbmkgRQGmi8Zj9sfH80Idg02efuMP3XWdLgVE owRRGgWhKuMys+aBxHbm77R1Fbr2KFxGRK4edXSIIsqkdkQIie3oPgACHzoKf9hl
bIIboYkKacNQ7J9obDwTEkhj9Fh4OY5VgUhaLGdE3dEiPrGJchsALr+bEt6yv5q3 UEpv3XIzX454VMz4agILd1haAmuVcqJA3yMuG6iNwxKpdBtGOBA3wy97lugqu02B
Y8668QvAZrw/j44a7V3gmEYHf1iZwhsI969SQAO0jcXfpgIv3r8pHJoULfdk0iB/ 5jYSsH4i8WfWpivVhkU+h6wCG0CyspOYs5ypTRqlw7fkrencYdEkItVH51uF48cb
kYSYQhhPkMfRnc61Jt0JF9Y7xJZ1ZehQuHngypUOVP9t9rqbDrk/wOHIZOCpunuJ 6knNtKnrfStQ9q3iGxxnZMfP6Pk7jsSD9Cgpjq/Z0IHd64y6k6fcS8RRZHEso836
e68p+L5n9xQGG7Ha23HoaVkq1sbqCmeQcTKnuUlmUzr148CXV6RptL/R5HV+vCJQ M+BWUNyygR8lw60NlEZRSRgpZaXRB/14XmDz0pzoxQzvwbSMjGPtdqKRVRev5Uom
IvmsNgStDmEUA41UKB4eRKEuPOt5PAYzgp1KCO0fB/DEFxkprSghoBSb/GREUjIy C/ZolO2svAZ8JyOb+QYbsIRZ9oIO30Fe9YJqSDEgcrXdyyzCnFocxo7+8nOhFjPM
MhZiF2//7FLRmg5x14kd aZkgXOzI2ArMN1LQ/tmQ
=jZhC =eAUx
-----END PGP SIGNATURE----- -----END PGP SIGNATURE-----

Loading…
Cancel
Save