【发布时间】:2015-02-01 12:01:47
【问题描述】:
我需要在 0-255 之间“洗牌”一个列表,但不使用随机函数,因为该列表必须根据长度为 10 的字符串进行洗牌。我目前正在尝试做的事情如下:
key = "testtest12"
mapping = range(256)
然后我需要洗牌 mapping 列表,而不仅仅是使用 random.shuffle(mapping) 或类似的东西。我最初的想法是像这样添加密钥的所有条例值:
keytotal = 0
for i in key:
keytotal += ord(i)
for i, item in enumerate(mapping):
mapping[i] = (mapping[i] * keytotal) % 255
这很好地打乱了mapping 列表,但是它会导致重复值,而我需要所有值在 0-255 之间是唯一的,只是根据键混合成不同的顺序。如果你有任何想法,请写下你的想法。
谢谢
【问题讨论】:
标签: python list encryption cryptography