MCPcopy Index your code
hub / github.com/sqlmapproject/sqlmap / encrypt

Method encrypt

thirdparty/pydes/pyDes.py:763–805  ·  view source on GitHub ↗

encrypt(data, [pad], [padmode]) -> bytes data : bytes to be encrypted pad : Optional argument for encryption padding. Must only be one byte padmode : Optional argument for overriding the padding mode. The data must be a multiple of 8 bytes and will be encrypted with the already specifie

(self, data, pad=None, padmode=None)

Source from the content-addressed store, hash-verified

761 key.setIV(IV)
762
763 def encrypt(self, data, pad=None, padmode=None):
764 """encrypt(data, [pad], [padmode]) -> bytes
765
766 data : bytes to be encrypted
767 pad : Optional argument for encryption padding. Must only be one byte
768 padmode : Optional argument for overriding the padding mode.
769
770 The data must be a multiple of 8 bytes and will be encrypted
771 with the already specified key. Data does not have to be a
772 multiple of 8 bytes if the padding character is supplied, or
773 the padmode is set to PAD_PKCS5, as bytes will then added to
774 ensure the be padded data is a multiple of 8 bytes.
775 """
776 ENCRYPT = des.ENCRYPT
777 DECRYPT = des.DECRYPT
778 data = self._guardAgainstUnicode(data)
779 if pad is not None:
780 pad = self._guardAgainstUnicode(pad)
781 # Pad the data accordingly.
782 data = self._padData(data, pad, padmode)
783 if self.getMode() == CBC:
784 self.__key1.setIV(self.getIV())
785 self.__key2.setIV(self.getIV())
786 self.__key3.setIV(self.getIV())
787 i = 0
788 result = []
789 while i < len(data):
790 block = self.__key1.crypt(data[i:i+8], ENCRYPT)
791 block = self.__key2.crypt(block, DECRYPT)
792 block = self.__key3.crypt(block, ENCRYPT)
793 self.__key1.setIV(block)
794 self.__key2.setIV(block)
795 self.__key3.setIV(block)
796 result.append(block)
797 i += 8
798 if _pythonMajorVersion < 3:
799 return ''.join(result)
800 else:
801 return bytes.fromhex('').join(result)
802 else:
803 data = self.__key1.crypt(data, ENCRYPT)
804 data = self.__key2.crypt(data, DECRYPT)
805 return self.__key3.crypt(data, ENCRYPT)
806
807 def decrypt(self, data, pad=None, padmode=None):
808 """decrypt(data, [pad], [padmode]) -> bytes

Callers

nothing calls this directly

Calls 7

_guardAgainstUnicodeMethod · 0.80
_padDataMethod · 0.80
getModeMethod · 0.80
getIVMethod · 0.80
cryptMethod · 0.80
setIVMethod · 0.45
appendMethod · 0.45

Tested by

no test coverage detected