MCPcopy Create free account
hub / github.com/PierreGode/Ragnar / _unpadData

Method _unpadData

pager_lib/smb/utils/pyDes.py:201–226  ·  view source on GitHub ↗
(self, data, pad, padmode)

Source from the content-addressed store, hash-verified

199 return data
200
201 def _unpadData(self, data, pad, padmode):
202 # Unpad data depending on the mode.
203 if not data:
204 return data
205 if pad and padmode == PAD_PKCS5:
206 raise ValueError("Cannot use a pad character with PAD_PKCS5")
207 if padmode is None:
208 # Get the default padding mode.
209 padmode = self.getPadMode()
210
211 if padmode == PAD_NORMAL:
212 if not pad:
213 # Get the default padding.
214 pad = self.getPadding()
215 if pad:
216 data = data[:-self.block_size] + \
217 data[-self.block_size:].rstrip(pad)
218
219 elif padmode == PAD_PKCS5:
220 if _pythonMajorVersion < 3:
221 pad_len = ord(data[-1])
222 else:
223 pad_len = data[-1]
224 data = data[:-pad_len]
225
226 return data
227
228 def _guardAgainstUnicode(self, data):
229 # Only accept byte strings or ascii unicode values, otherwise

Callers 2

decryptMethod · 0.80
decryptMethod · 0.80

Calls 2

getPadModeMethod · 0.95
getPaddingMethod · 0.95

Tested by

no test coverage detected