Added python-only implementation of PKCS7 padding

pull/76/head
Mark Qvist 2022-06-07 17:32:22 +02:00
rodzic 19a033db96
commit b2b6708e8f
1 zmienionych plików z 18 dodań i 0 usunięć

Wyświetl plik

@ -0,0 +1,18 @@
class PKCS7:
BLOCKSIZE = 16
@staticmethod
def pad(data, bs=BLOCKSIZE):
l = len(data)
n = bs-l%bs
v = bytes([n])
return data+v*n
@staticmethod
def unpad(data, bs=BLOCKSIZE):
l = len(data)
n = data[-1]
if n > bs:
raise ValueError("Cannot unpad, invalid padding length of "+str(n)+" bytes")
else:
return data[:l-n]