#NEWLINE# def decrypt( self , data , pad = None , padmode = None ) : #NEWLINE# #INDENT# 'decrypt(data, [pad], [padmode]) -> bytes\n\n        data : Bytes to be encrypted\n        pad  : Optional argument for decryption padding. Must only be one byte\n        padmode : Optional argument for overriding the padding mode.\n\n        The data must be a multiple of 8 bytes and will be decrypted\n        with the already specified key. In PAD_NORMAL mode, if the\n        optional padding character is supplied, then the un-encrypted\n        data will have the padding characters removed from the end of\n        the bytes. This pad removal only occurs on the last 8 bytes of\n        the data (last data block). In PAD_PKCS5 mode, the special\n        padding end markers will be removed from the data after decrypting.\n        ' #NEWLINE# data = self . _guardAgainstUnicode ( data ) #NEWLINE# if ( pad is not None ) : #NEWLINE# #INDENT# pad = self . _guardAgainstUnicode ( pad ) #NEWLINE# #UNINDENT# data = self . crypt ( data , des . DECRYPT ) #NEWLINE# return self . _unpadData ( data , self , padmode )