07-09-2017, 09:33 PM
(07-09-2017, 10:40 AM)mrfancypants Wrote: Alpha version of the keygen for NVG589:
Code:pw_charset='abcdefghijkmnpqrstuvwxyz23456789#%+=?'
def pwgen589(x):
x=int(x*465661287.5245797)
pw=''
for n in range(0,6):
pw=pw_charset[x%37] + pw
x/=37
pw=chr(50+(x%8)) + pw
x/=37
return pw
Example:
Code:>>> pwgen589(0x57c5d9ab)
'596p7=6y6r2a'
As before, 'x' is integer 0 to 0x7FFFFFFF (2 billion options). I'm not yet clear how (or if) 'x' relates to other device attributes.
This only works about 70% of the time because of the rounding during the float multiplication step. The magic number is approximately equal to 1e18/2^31 + 111/2^9 + 2923/2^25 (not certain about the last term.) Depending on the order of operations, sometimes the result ends up slightly off.
I will modify this code a bit and see if a friend of mine can use his 2.6MH/s and see if it works on my 589.