diff --git a/monero-wallet-generator.html b/monero-wallet-generator.html
index 0285c83..c6f71b0 100644
--- a/monero-wallet-generator.html
+++ b/monero-wallet-generator.html
@@ -8278,6 +8278,8 @@ var cnBase58 = (function () {
}
return out.join("");
}
+ this.bintohex = bintohex;
+ b58.bintohex = bintohex;
function strtobin(str) {
var res = new Uint8Array(str.length);
@@ -10250,6 +10252,8 @@ bC0zLjUsMjAuNGgtNkwyNDQuOCwzMTAuNkwyNDQuOCwzMTAuNnoiLz4KPC9nPgo8L3N2Zz4K">
or
@@ -10444,20 +10448,27 @@ current_lang='english';
keys = null;
function genwallet(lang)
{
- if (lang!=null) {
- current_lang = lang;
- }
- else {
- seed = cnUtil.sc_reduce32(cnUtil.rand_32());
- keys = cnUtil.create_address(seed);
- }
- 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");
+ user_entropy_widget = document.getElementById("user_entropy_widget")
+
+ if (lang!=null) {
+ current_lang = lang;
+ }
+ else {
+ 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);
+ }
+ mnemonic = mn_encode(seed,current_lang);
spend_key_widget.innerHTML = keys.spend.sec;
view_key_widget.innerHTML = keys.view.sec;
diff --git a/monero-wallet-generator.html.asc b/monero-wallet-generator.html.asc
index a9b1160..49c0a39 100644
--- a/monero-wallet-generator.html.asc
+++ b/monero-wallet-generator.html.asc
@@ -1,17 +1,17 @@
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1
-iQIcBAABAgAGBQJWOKIoAAoJEGhvB0VNbO/Dg4oQAJ3BfmphKzlGUA+e8au6HCZw
-4qgflwjOD+FRNP2335WNibST9cmCFd7rBvtbihanTYwqgT3zqVJ20F+eCB0V1IEL
-iSHCx0XBqM+AWd96m21DhFuvjr85lRHUdTqzV0iVssVXCBhT01ijdUC9KS3KN4Io
-g8qTNZeRx370vSsuToal8He2CQ8lhyUSUZoExXDC9clB3Jxb6nRtGxK2TvNFjLWD
-D3fp8qkJZWLFPl9tnIFr9NCEbLegTVmo42jEtjjD6+e6z8hdR6aINuUKnIVUizbW
-Ls5WQm2DjjS7qDHM6BfYAqTfmjqTbmkgRQGmi8Zj9sfH80Idg02efuMP3XWdLgVE
-bIIboYkKacNQ7J9obDwTEkhj9Fh4OY5VgUhaLGdE3dEiPrGJchsALr+bEt6yv5q3
-Y8668QvAZrw/j44a7V3gmEYHf1iZwhsI969SQAO0jcXfpgIv3r8pHJoULfdk0iB/
-kYSYQhhPkMfRnc61Jt0JF9Y7xJZ1ZehQuHngypUOVP9t9rqbDrk/wOHIZOCpunuJ
-e68p+L5n9xQGG7Ha23HoaVkq1sbqCmeQcTKnuUlmUzr148CXV6RptL/R5HV+vCJQ
-IvmsNgStDmEUA41UKB4eRKEuPOt5PAYzgp1KCO0fB/DEFxkprSghoBSb/GREUjIy
-MhZiF2//7FLRmg5x14kd
-=jZhC
+iQIcBAABAgAGBQJWhpkbAAoJEGhvB0VNbO/DvjIP/j3nMpxXXDHxg2dJ4pv7yzDY
+xwDpHKMn+l1VtxNsyD63B1IIxWWKnlXIgCx6xJmYRgEN7SZJNw1+yMF0qaZeLalO
+HcZz9CaZMhvJHgjlfl+3NX+OIX386PHtYDUQIzINYdJ+zXe4v9n+1Vativ4Sd5P/
+6Io+40DRTLMkIVTP1lVAXxSsITOhl58rBKQ6h5Cu5+e6pbEeKJPaDOAGLpAASB96
+HuMMLMuI7af1otCFJO/pYS9tH2T75j/Y79EYiIvWjNQynZ1PdGOEMleXwlUxY77x
+owRRGgWhKuMys+aBxHbm77R1Fbr2KFxGRK4edXSIIsqkdkQIie3oPgACHzoKf9hl
+UEpv3XIzX454VMz4agILd1haAmuVcqJA3yMuG6iNwxKpdBtGOBA3wy97lugqu02B
+5jYSsH4i8WfWpivVhkU+h6wCG0CyspOYs5ypTRqlw7fkrencYdEkItVH51uF48cb
+6knNtKnrfStQ9q3iGxxnZMfP6Pk7jsSD9Cgpjq/Z0IHd64y6k6fcS8RRZHEso836
+M+BWUNyygR8lw60NlEZRSRgpZaXRB/14XmDz0pzoxQzvwbSMjGPtdqKRVRev5Uom
+C/ZolO2svAZ8JyOb+QYbsIRZ9oIO30Fe9YJqSDEgcrXdyyzCnFocxo7+8nOhFjPM
+aZkgXOzI2ArMN1LQ/tmQ
+=eAUx
-----END PGP SIGNATURE-----