我有不同长度的字符串,例如:
text_1 = 'example'
text_2 = 'a'
text_3 = 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed, lacinia in, mi.'
我必须添加chars(any),因为text必须是16的倍数。
我需要这样做:
c = AES.new('somekey', AES.MODE_ECB)
e_data = cipher.encrypt(text)
我该怎么做?
答案 0 :(得分:2)
这应该做:
>>> s = 'fooo'
>>> s += ' ' * (16 - (len(s) % 16))
>>> s
'fooo '
>>> len(s)
16
此处所需的字符数为16 - (len(s) % 16)
,因为len(s) % 16
是将长度除以16时剩余的字符数。
答案 1 :(得分:1)
添加16和模数
之间的差异text_1 += ((16 - len(text_1) % 16)*'X')