#- * -コーディング= UTF-8 - * - から Crypto.Cipher インポートDESの 輸入BASE64 "" " デCBC加密算法 パディング:PKCS5 """ クラスDESUtil: __BLOCK_SIZE_8 = BLOCK_SIZE_8 = DES.block_size __IV = " \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 \ 0 " #__IV = CHR(0)* 8 @staticmethod デフencryt(STR、キー): 暗号 = DES.new(。キー、DES.MODE_CBC、DESUtil __IV ) のx = DESUtil。__BLOCK_SIZE_8 - (LEN(STR)%DESUtil。__BLOCK_SIZE_8) 菌糸のx =!0: STR = STR + CHR(X)* X MSG = cipher.encrypt(STR) #MSG = base64.urlsafe_b64encode(MSG).replace( '='、 '') MSG = base64.b64encode( MSG) 戻りMSGは @staticmethod DEF ()、キーINSTR:解読 暗号。= DES.new(キーDES.MODE_CBC、DESUtilを__IV ) #INSTR + =(亜麻仁(INSTR)%4)* "=" #decryptByts = BASE64 .urlsafe_b64decode(INSTR) decryptByts = base64.b64decode(INSTR) MSG =cipher.decrypt(decryptByts) paddingLen = ORD(MSG [LEN(MSG)-1 ]) 戻り MSG [0: - paddingLen] なら __name__ == " __main__ " : キー = " 12345678 " RES = DESUtil.encryt(" 123456 " 、キー) プリント resは#ED5wLgc3Mnw = 印刷 DESUtil.decrypt(RESキー)