1.前言
看過IOTA的區塊鍊算法介紹後,感覺這種組鍊方式确實比較有前途。下載下傳了一個IOTA的錢包,發現這種币沒有像比特币那樣的私鑰錢包,而是一個81位由大寫字母和數字9組成的字元串種子。這81位的字元種子就代表了使用者的帳戶所有權。不知為什麼種會讓人有一種人心不踏實的感覺,總有種這麼生成的密鑰會不安全的感覺。這個以後再研究,今天咱隻講密鑰種子的一種生成方法。
2.使用pyhton
為了生成很随機的密鑰種子字元串,我使用了python的random子產品。直接上代碼:
#!/usr/bin/env python
#coding:UTF-8
import random
import sys
class IOTASEEDObj(object):
"""docstring for IOTASEEDObj"""
def __init__(self):
super(IOTASEEDObj, self).__init__()
self.pyseed = None
self.keys = ['9']
asciiA = ord('A')
for i in range(26):
self.keys.append(chr(asciiA + i))
def getIOTASEED(self,myshortkey):
xadd = 0
seeds = ''
for m in myshortkey:
xadd += (xadd*10 + ord(m))
random.seed(xadd)
for i in range(81):
seeds += self.keys[random.randint(0,26)]
return seeds
def main(myseed):
iotatool = IOTASEEDObj()
seeds = iotatool.getIOTASEED(myseed)
print('以下是為你生成的IOTA種子:')
print(seeds)
if __name__ == '__main__':
args = sys.argv
if len(args) == 2:
myseedkeys = args[1]
if len(myseedkeys) < 8:
print('你的種子最好大于8位字元')
else:
print(myseedkeys,'請牢記你種子的種子')
main(myseedkeys)
else:
print '請設定你自已的密碼,密碼最好不要太短'
我先把這個種子生成腳本命名為myseed.py
3.使用方法
python myseed.py 你自已的短種子字元串
user$python IOTASEED.py lllllllls
請牢記你種子的種子:
lllllllls
以下是為你生成的IOTA種子:
SRDDGSXXGPCBXHOKUOTCICHJVADGZRAATEKGYOUPRATUZKMPLKRLQIDRLBITFKQSRDTOVMDDTWLCGEGSZ