From 92c9e34701c6dc1d77a3a7ff3c74d019e8aba0a9 Mon Sep 17 00:00:00 2001 From: moneromooo-monero Date: Sun, 19 Feb 2017 14:49:05 +0000 Subject: [PATCH] Add warning when custom entropy is low --- monero-wallet-generator.html | 44 +++++++++++++++++++++++++++++--- monero-wallet-generator.html.asc | 26 +++++++++---------- 2 files changed, 54 insertions(+), 16 deletions(-) diff --git a/monero-wallet-generator.html b/monero-wallet-generator.html index ef265d9..bcfe6f3 100644 --- a/monero-wallet-generator.html +++ b/monero-wallet-generator.html @@ -10741,9 +10741,10 @@ bC0zLjUsMjAuNGgtNkwyNDQuOCwzMTAuNkwyNDQuOCwzMTAuNnoiLz4KPC9nPgo8L3N2Zz4K">
-

Custom entropy (leave empty to use PRNG)

- + value="Generate wallet" id="gen_with_custom_entropy_button" disabled="disabled" action=""/> +

Custom entropy for deterministic wallet (leave empty to use the browser's PRNG)

+ +

or

@@ -11093,6 +11094,43 @@ function genwallet_prefix() } } +function checkEntropy() +{ + var good = true; + var button = document.getElementById("gen_with_custom_entropy_button") + var user_entropy_widget = document.getElementById("user_entropy_widget") + var user_entropy = user_entropy_widget.value; + var user_entropy_warning_widget = document.getElementById("user_entropy_warning_widget") + if (user_entropy.length === 0) { + good = false; + button.disabled = true + user_entropy_warning_widget.style.display = "none" + return + } + + button.disabled = false + var count = new Int32Array(256); + for (var n = 0; n < 256; ++n) + count[n] = 0 + for (var n = 0; n < user_entropy.length; ++n) + count[user_entropy.charCodeAt(n)]++; + var e = 0 + for (var n = 0; n < 256; ++n) { + if (count[n] > 0) { + var p = count[n] / user_entropy.length + p *= Math.log(p) / Math.log(2) + e -= p + } + } + e *= user_entropy.length + if (e < 128) + good = false + if (good) + user_entropy_warning_widget.style.display = "none" + else + user_entropy_warning_widget.style.display = "block" +} + function toggle_qr() { address_qr_widget = document.getElementById("address_qr_widget"); diff --git a/monero-wallet-generator.html.asc b/monero-wallet-generator.html.asc index a3a9eec..403cef8 100644 --- a/monero-wallet-generator.html.asc +++ b/monero-wallet-generator.html.asc @@ -1,17 +1,17 @@ -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 -iQIcBAABAgAGBQJYlaa5AAoJEGhvB0VNbO/DP90QAJSHlHFtU4Gau4bgF4ZHTID7 -Vc0kvu0p3B3v9n/+zO02YKjYGHp1F0f2lyA+ZAnUW8BXR5QTy0QqqmfQDK4ilCQT -2x7Xjcs30Ol90p1A2hIzqr+iY5qTnvqMriYpD39GUIFyqGOUsJj6+zP3mpTzgMLW -U742K/whTFcqUdLWxzIsv41kflvdnpbphHsycANLwY/7owfVoZm0gZNwzTNB4IQ5 -dS+i2cp4GATZGqH5dxYBkKq7xlqN1/+GRx9bhvIa6fanI99ldm9ajmh7Ehd24Khl -0lR/ngXk8HKWyRlNtVuUZ47i9lkUibygRVtL2HZ2ML+MUZrNRH3Hk5WJp/FyjQ8Y -LFt/DVCBAf7o+Ohjrl/w5/SI4baY2B5YZhOKD5pWMlRfgZZp+aIWDDAwgYEUrZN6 -/gnfTrOLIWgsm+eZjMvVUopJrVDrinTkS5d03F8Yy9DH2P1qcF102dzHnK0bAwxR -6BAwnCqYYsIZpKVeq/JUTC6OtQt3LImQzhbATCTAGEoSNs7zwQ600r1QkyzAJwFv -FmJM4gTX09lISbQZKDPu0DAO967TTK8JQqNtGZ2ibFVVBoQ8posxJjnf2drjB5nD -hMHc0vD9nE2NoTp+t/scOZw/avSGfvuSPmcBlpkWJqqZZG7o8RGFKt89qZlcIRQ8 -jt7ihU/WJxDiA5Qtwu2R -=xteP +iQIcBAABAgAGBQJYqbBFAAoJEGhvB0VNbO/D0GQP/17NXwxMYMH726luetnz1uig +seugkTJK5ycjtHGfpoSWafEhMrMctic186vyMepxRDgJjYHRCyS7KJJgfQeG9NoC +/pPNC6mJY9MRZ16nD7yl4vh64ErmhiIlFxO0PtE4XMacAjewlk8fhQGgcoeHfYYN +dtSIRLkxutLOMS6f3p1Vt9+hAM1q1tZM1wQ/JzHtUx1te8e0YW4u6kqFPEBYqTtV +yNDFzrwIaueXlgy+iC9u9cIyOy4MxwObPmtRkodo3Oqf1G9jqZVN7YveGhDrzZC4 +cfif/Qb1nwoCLxNi9FofuF0g5WtRKropojqrTEX2JrZgJ7ZpJuslg4gguFzoc7C4 +wVOtOHGrhiesgecI9Df88m9rAFKe5e/V2V+N9/6B8m9p+eDU3G9E8lNL490V66HE +UbZ9Uz9XNOYUnzA/+QzDHRq14SrBazhz8fiYGcSK3eAMrFt1C4nW+piJ3164MmKw +huo8i5i7OaJMt9caLdn2n4dMI6vZ4SeoF+z8x/dlbn8cqBzRm76/HaQYeNg+86Ky +ZlDPksPXl7+d/uMyvVU9KIV+3LUNVCJr1+SSRn3BfK+JO24+4X3OMz6pRB634SL1 +hdeaewLgK8N5dePRIa55gQAkA8W89QnTpoZKpGRazOeousy1C8he9ByPr3BLnVyl +gKJ2YIZXLtML+qjeeXsQ +=mbAS -----END PGP SIGNATURE-----