我正在寻求一些建议,无论是用于执行以下操作的脚本(可能是python?)。
我基本上有两个文件,取自DB:
文档包含:
hash / related username.
示例:
fb4aa888c283428482370 username1
fb4aa888c283328862370 username2
fb4aa888c283422482370 username3
fb4aa885djsjsfjsdf370 username4
fb4aa888c283466662370 username5
文档二包含:
hash : plaintext
示例:
fb4aa888c283428482370:plaintext
fb4aa888c283328862370:plaintext2
fb4aa888c283422482370:plaintext4
fb4aa885djsjsfjsdf370:plaintextetc
fb4aa888c283466662370:plaintextetc
任何人都可以想到一种简单的方法让我将文档二中的哈希与文档一中的相关用户名匹配到一个新文档(比如文档三)并添加普通文件,使其看起来如下所示......
Hash : Relevant Username : plaintext
这将节省我很多时间来交叉引用两个文件,手动查找相关的哈希及其所属的用户。 我之前从未真正使用过python,所以有些例子会很棒!
提前致谢
答案 0 :(得分:0)
我没有为您提供任何代码,但执行此操作的一个非常基本的方法是启动执行以下操作的脚本:
答案 1 :(得分:0)
你并没有真正指明你想要的输出,但这应该让你足够接近根据自己的喜好进行修改。有些人足够好把它缩短成一行代码 - 但我认为保持它的长度的可读性可能对你刚开始有所帮助。
不过,在创建文件之前,我可能会完全避免这种情况以及SQL中的连接 - 但这不是你的问题:)usernames = dict()
plaintext = dict()
result = dict()
with open('username.txt') as un:
for line in un:
arry = line.split() #Turns the line into an array of two parts
hash, user = arry[0], arry[1]
usernames[hash] = user.rsplit()[0] # add to dictionary
with open('plaintext.txt') as un:
for line in un:
arry = line.split(':')
hash, txt = arry[0], arry[1]
plaintext[hash] = txt.rsplit()[0]
for key, val in usernames.items():
hash = key
txt = plaintext[hash]
result[val] = txt
with open("dict.txt", "w") as w:
for name, txt in result.items():
w.write('{0} = {1}\n'.format(name, txt))
print(usernames) #{'fb4aa888c283466662370': 'username5', 'fb4aa888c283422482370': 'username3' ...................
print(plaintext) #{'fb4aa888c283466662370': 'plaintextetc', 'fb4aa888c283422482370': 'plaintext4' ................
print(result) #{'username1': 'plaintext', 'username3': 'plaintext4', .....................