encyptデータセット

インポートのgetopt 
インポートsysは
UUIDインポートする
インポートhashlib
インポートのCSV
:デフgetIds(合計、暗号化)
種=セットを()
範囲(合計)でiについて
UID = uuid.uuid1()
もし暗号:
encrypt_id = hashlib.sha256((STR( 。。UID)+ "saltValue")をエンコード( "UTF-8"))()hexdigestが
encrypt_id(seed.add)
他:

seed.add(STR(UID).replace( ' - '、 ''))
戻りシード
DEF gen_Datasets():
ゲスト、ホスト、交差、ENCRYPT_MODE = getDataNum()
IDS =リスト(getIds(+ホスト+ゲスト交差、暗号= ENCRYPT_MODE))
dataset_intersect = IDS [:交差]
dataset_host = IDS [交差:ホスト]
dataset_host.extend(dataset_intersect)
dataset_guest = IDS [交差:ゲスト]
dataset_guest.extend(dataset_intersect)
プリント(LEN(dataset_intersect)、LEN(dataset_host)、LEN(dataset_guest))

write_csvtb( "./ intersect.csv"、dataset_intersect)
write_csvtb ( "./host_a.csv"、dataset_intersect)
write_csvtb( "./ guest_b.csv"、dataset_intersect)
プリント( "すべての書き込みを完了")
私のようなオープンと#(" ./ intersect.txt"、 "W"):
dataset_intersectの行のため#:
プリント(ライン)
#1 i.writelines(ライン)
#印刷( "========交差を完了")
オープンと#( "./ host_a.txt"、 "W") hと:
dataset_hostでのラインの#:
#プリント(ライン)
#1 h.write(ライン)
#プリント( "finshホスト===============")
"W"、 "./ guest_b.txt"(オープンと# )gと:
:dataset_guestにおけるラインの#
は##プリント(ライン)
#1 g.write(ライン)
#プリント( "仕上げゲスト=======")
getDataNum DEF():
DEF用法():
プリント( 「例:-m:--help NEまたは--encrypt = \:データセット番号の\ NGまたは--guest交差:ゲスト数を\ nは-hまたは--host:ホストデータセット数Niまたは--intersect = \ SHA256 「)
引数=はgetopt.getopt(sys.argvのオプト[1]、 '-mi:G:H:E:'、[ 'ヘルプ'、 'ホスト='、 'ゲスト='、 '=交差'、 '暗号化='])
ゲスト、ホスト、=なし、なしと交差していません、なし
暗号化= Falseの
opt_nameため、optsの中opt_value:

もし( '-m'、 '--help')でopt_name:
用法()
sys.exit()
内opt_name場合( '-g'、 '--guest'):
ゲスト= INT (opt_value)
でopt_name IF( '-h' '--host'):
ホスト= INT(opt_value)
opt_nameがでた場合には( '-i'、 ' -交差')
= INT(opt_value)と交差
opt_nameであれば( '-e'、 ' -暗号化'):
もしint型(opt_value)== 1:
暗号化=真
のelif INT(opt_value)== 0:
= Falseを暗号化し
、他:
「(ValueErrorを送出し0と1" の間で暗号化する必要があります)
ゲストを返し、ホストは、交差し、暗号化し


ます。def write_csvtb(パス、DT)
:Fなどのオープン(パス、 "W"は、改行= '')と
ライター= csv.writer(f)の
iに対するDT中:
writer.writerow( [i])と

あれば__name__ == '__main__':
gen_Datasets()

  

おすすめ

転載: www.cnblogs.com/SunshineKimi/p/11204454.html