2015-01-26 65 views
1

我有不同長度的字符串,例如:如何使文本的長度爲16的倍數?

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.' 

,我必須向它們添加字符(任何),因爲文本必須是16的長度的倍數。

我需要做的是:

c = AES.new('somekey', AES.MODE_ECB) 
e_data = cipher.encrypt(text)  

我該怎麼辦呢?

+0

任何字符? – thumbtackthief 2015-01-26 21:42:34

+0

查看模數'%'運算符或'divmod'函數。 – Midnighter 2015-01-26 21:42:58

回答

1

添加16之間的區別和模

text_1 += ((16 - len(text_1) % 16)*'X') 
2

這應該這樣做:

>>> s = 'fooo' 
>>> s += ' ' * (16 - (len(s) % 16)) 
>>> s 
'fooo   ' 
>>> len(s) 
16 

這裏所需要的字符數爲16 - (len(s) % 16)因爲len(s) % 16剩下的字符數,當你把長度由16

相關問題