Fix the number generator
The number generator disproportionately favors digits 1-5 over 6. This fixes it using random's randint() function and the SystemRandom class. Function numgen() will now always return a list.
This commit is contained in:
parent
50e75be7e8
commit
f904ef2e2f
@ -16,7 +16,7 @@ To uninstall Dicekey: `sudo dpkg -r dicekey`
|
|||||||
|
|
||||||
## Development
|
## Development
|
||||||
|
|
||||||
Dicekey is developed on Trisquel GNU/Linux 6.0.1 TLS i686 with Python 2.7.3
|
Dicekey is developed on Trisquel GNU/Linux 7 x86_64 with Python 2.7.6
|
||||||
and checkinstall 1.6.2. There *are* plans to support other platforms.
|
and checkinstall 1.6.2. There *are* plans to support other platforms.
|
||||||
|
|
||||||
Development follows the the [Semantic
|
Development follows the the [Semantic
|
||||||
@ -27,7 +27,8 @@ occur but we shall try to follow these guidelines to the best of our ability.
|
|||||||
## Copyrights and Licenses
|
## Copyrights and Licenses
|
||||||
|
|
||||||
Copyright (C) 2016 Kris Lamoureux
|
Copyright (C) 2016 Kris Lamoureux
|
||||||
> All Dicekey
|
|
||||||
|
All Dicekey
|
||||||
code is [Free Software](https://www.gnu.org/philosophy/free-sw.en.html)
|
code is [Free Software](https://www.gnu.org/philosophy/free-sw.en.html)
|
||||||
released under the [GNU General Public
|
released under the [GNU General Public
|
||||||
License](https://github.com/Kris619/Dicekey/blob/master/LICENSE) as published
|
License](https://github.com/Kris619/Dicekey/blob/master/LICENSE) as published
|
||||||
@ -35,6 +36,7 @@ by the Free Software Foundation, version 3 of the License.
|
|||||||
|
|
||||||
|
|
||||||
Copyright (C) 2001 Arnold G. Reinhold, Cambridge, Massachusetts USA.
|
Copyright (C) 2001 Arnold G. Reinhold, Cambridge, Massachusetts USA.
|
||||||
> A G Reinhold licenses its rights to the English Diceware Wordlist under the
|
|
||||||
|
A G Reinhold licenses its rights to the English Diceware Wordlist under the
|
||||||
[Creative Commons CC-BY 3.0](https://creativecommons.org/licenses/by/3.0/)
|
[Creative Commons CC-BY 3.0](https://creativecommons.org/licenses/by/3.0/)
|
||||||
license.
|
license.
|
||||||
|
@ -14,7 +14,7 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
# Built-in
|
# Built-in
|
||||||
import os
|
import random
|
||||||
|
|
||||||
|
|
||||||
# Generate Diceware numbers
|
# Generate Diceware numbers
|
||||||
@ -25,14 +25,10 @@ def numgen(length=1):
|
|||||||
number = ""
|
number = ""
|
||||||
|
|
||||||
for _ in range(5):
|
for _ in range(5):
|
||||||
bytedata = os.urandom(1)
|
PRNG = random.SystemRandom()
|
||||||
intdata = int(bytedata.encode("hex"), 16)
|
digit = PRNG.randint(1, 6)
|
||||||
result = intdata * 5 / 255 + 1
|
number = number + str(digit)
|
||||||
number = number + str(result)
|
|
||||||
|
|
||||||
numlist.append(number)
|
numlist.append(number)
|
||||||
|
|
||||||
if len(numlist) == 1:
|
return numlist
|
||||||
return numlist[0]
|
|
||||||
else:
|
|
||||||
return numlist
|
|
||||||
|
2
setup.py
2
setup.py
@ -17,7 +17,7 @@
|
|||||||
from distutils.core import setup
|
from distutils.core import setup
|
||||||
|
|
||||||
NAME = "Dicekey"
|
NAME = "Dicekey"
|
||||||
VERSION = "0.2.0-prealpha"
|
VERSION = "1.2.0-prealpha"
|
||||||
AUTHOR = "Kris Lamoureux"
|
AUTHOR = "Kris Lamoureux"
|
||||||
AUTHOR_EMAIL = "KrisPublicEmail@gmail.com"
|
AUTHOR_EMAIL = "KrisPublicEmail@gmail.com"
|
||||||
URL = "https://github.com/Kris619/Dicekey/"
|
URL = "https://github.com/Kris619/Dicekey/"
|
||||||
|
Loading…
Reference in New Issue
Block a user