Add warning when custom entropy is low
This commit is contained in:
parent
c04a4e872b
commit
92c9e34701
|
@ -10741,9 +10741,10 @@ bC0zLjUsMjAuNGgtNkwyNDQuOCwzMTAuNkwyNDQuOCwzMTAuNnoiLz4KPC9nPgo8L3N2Zz4K">
|
||||||
<div class="row valign-wrapper">
|
<div class="row valign-wrapper">
|
||||||
<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" id="gen_with_custom_entropy_button" disabled="disabled" action=""/>
|
||||||
<p>Custom entropy (leave empty to use PRNG)</p>
|
<p>Custom entropy for deterministic wallet (leave empty to use the browser's PRNG)</p>
|
||||||
<input type="text" value="" id="user_entropy_widget" />
|
<input type="text" value="" id="user_entropy_widget" oninput="js:checkEntropy();" />
|
||||||
|
<div style="color: red; display: none" id="user_entropy_warning_widget">WARNING: entropy is way too low for the wallet to be secure: aim for 256 bits (about a hundred dice throws)</div>
|
||||||
</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">
|
||||||
|
@ -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()
|
function toggle_qr()
|
||||||
{
|
{
|
||||||
address_qr_widget = document.getElementById("address_qr_widget");
|
address_qr_widget = document.getElementById("address_qr_widget");
|
||||||
|
|
|
@ -1,17 +1,17 @@
|
||||||
-----BEGIN PGP SIGNATURE-----
|
-----BEGIN PGP SIGNATURE-----
|
||||||
Version: GnuPG v1
|
Version: GnuPG v1
|
||||||
|
|
||||||
iQIcBAABAgAGBQJYlaa5AAoJEGhvB0VNbO/DP90QAJSHlHFtU4Gau4bgF4ZHTID7
|
iQIcBAABAgAGBQJYqbBFAAoJEGhvB0VNbO/D0GQP/17NXwxMYMH726luetnz1uig
|
||||||
Vc0kvu0p3B3v9n/+zO02YKjYGHp1F0f2lyA+ZAnUW8BXR5QTy0QqqmfQDK4ilCQT
|
seugkTJK5ycjtHGfpoSWafEhMrMctic186vyMepxRDgJjYHRCyS7KJJgfQeG9NoC
|
||||||
2x7Xjcs30Ol90p1A2hIzqr+iY5qTnvqMriYpD39GUIFyqGOUsJj6+zP3mpTzgMLW
|
/pPNC6mJY9MRZ16nD7yl4vh64ErmhiIlFxO0PtE4XMacAjewlk8fhQGgcoeHfYYN
|
||||||
U742K/whTFcqUdLWxzIsv41kflvdnpbphHsycANLwY/7owfVoZm0gZNwzTNB4IQ5
|
dtSIRLkxutLOMS6f3p1Vt9+hAM1q1tZM1wQ/JzHtUx1te8e0YW4u6kqFPEBYqTtV
|
||||||
dS+i2cp4GATZGqH5dxYBkKq7xlqN1/+GRx9bhvIa6fanI99ldm9ajmh7Ehd24Khl
|
yNDFzrwIaueXlgy+iC9u9cIyOy4MxwObPmtRkodo3Oqf1G9jqZVN7YveGhDrzZC4
|
||||||
0lR/ngXk8HKWyRlNtVuUZ47i9lkUibygRVtL2HZ2ML+MUZrNRH3Hk5WJp/FyjQ8Y
|
cfif/Qb1nwoCLxNi9FofuF0g5WtRKropojqrTEX2JrZgJ7ZpJuslg4gguFzoc7C4
|
||||||
LFt/DVCBAf7o+Ohjrl/w5/SI4baY2B5YZhOKD5pWMlRfgZZp+aIWDDAwgYEUrZN6
|
wVOtOHGrhiesgecI9Df88m9rAFKe5e/V2V+N9/6B8m9p+eDU3G9E8lNL490V66HE
|
||||||
/gnfTrOLIWgsm+eZjMvVUopJrVDrinTkS5d03F8Yy9DH2P1qcF102dzHnK0bAwxR
|
UbZ9Uz9XNOYUnzA/+QzDHRq14SrBazhz8fiYGcSK3eAMrFt1C4nW+piJ3164MmKw
|
||||||
6BAwnCqYYsIZpKVeq/JUTC6OtQt3LImQzhbATCTAGEoSNs7zwQ600r1QkyzAJwFv
|
huo8i5i7OaJMt9caLdn2n4dMI6vZ4SeoF+z8x/dlbn8cqBzRm76/HaQYeNg+86Ky
|
||||||
FmJM4gTX09lISbQZKDPu0DAO967TTK8JQqNtGZ2ibFVVBoQ8posxJjnf2drjB5nD
|
ZlDPksPXl7+d/uMyvVU9KIV+3LUNVCJr1+SSRn3BfK+JO24+4X3OMz6pRB634SL1
|
||||||
hMHc0vD9nE2NoTp+t/scOZw/avSGfvuSPmcBlpkWJqqZZG7o8RGFKt89qZlcIRQ8
|
hdeaewLgK8N5dePRIa55gQAkA8W89QnTpoZKpGRazOeousy1C8he9ByPr3BLnVyl
|
||||||
jt7ihU/WJxDiA5Qtwu2R
|
gKJ2YIZXLtML+qjeeXsQ
|
||||||
=xteP
|
=mbAS
|
||||||
-----END PGP SIGNATURE-----
|
-----END PGP SIGNATURE-----
|
||||||
|
|
Loading…
Reference in New Issue