# coding=utf-8 import os class RedSdkEncrypt(object): """ RedSdk中的c++加解密 """ @staticmethod def __callBulldog(cmd, res): """ 执行 加解密 命令 :param cmd: string: 命令 encrypt | decrypt :param res: string: 要操作的字符串 :return: 加解密后的字符串 """ current_dir = os.path.dirname(__file__) current_dir = os.path.dirname(current_dir) cmd_path = os.path.join(current_dir, "ctools", "BulldogTool") cmd = cmd_path + " {} \"{}\"".format(cmd, res) p = os.popen(cmd, "r") result = p.read() p.close() return result @staticmethod def bulldog_encrypt(res): """ 加密字符串 :param res: string :return: string """ return RedSdkEncrypt.__callBulldog("encrypt", res) @staticmethod def bulldog_decrypt(res): """ 解密字符串 :param res: string :return: string """ return RedSdkEncrypt.__callBulldog("decrypt", res) if __name__ == '__main__': with open("/Users/zhuge/workspace/git/Billiards/Billiards/Resources/ad.json") as f: ad_json_str = f.read() print RedSdkEncrypt.bulldog_encrypt(ad_json_str) print RedSdkEncrypt.bulldog_decrypt("f4HIsAAAAAAzAA6EX12Sa_xBQ-DxK9anEc3Vu9b12eug0aOSV1LEWi1Wq9bFFAtTIoGbu9-1sCuQD0vG10ChqMnzlTtfPDzsfRbVHZ3-TLN5dtAzUlaeXw31djV1m_zmZdgX67M3Uqtv5s6AkflRiGOiSCTqcBpPSR2mMj02pUpqGOzLjEaUgAFjECjX8AmjYBHVBP2GjKQBdpyVYABHFwAAUzck9W0RFgxDwhoVTUScaTVeYTNENq-i6edSEFTQgWTNGnJlscyoIpCBSoJfYQizOCDz6yJELMMxYUykx4pvzKUJWGHdqBaHpI_MoCGHlWvkMi9IilLLcI41ilV8souWd2mozX37GrStKiqeYGvBXxHmUnzM2CuvlCvilfuX0flp6maLurIPB0Ord6j_lS4RWQ_m3xJIuCBF715EhXZX_H8YkoBI-wAiN0OFQP3RdpOm73qDBU39k3N9HDzfVBc_WqW3NCqt5TnvfxHDgXLCSmwX7CUXnr8iLeqQG00zZiuaffxfT2yXZN9_KXcpA-1-c9r9pn4jpxuYi8N3aN27aMvRHxcHklTXc83Jw4DHYFBzSZRu7_W9p7ary_g9pFzJQqwcJgWAz9Gl38uywW2nHAzVYyR4iPOaTNeg0Qms25SUBEMIUFjx79Oj0eGZgja_v3nMPvZq_6bAHx-2nkHrdBNsb3b05SQwgZGBGXBVfzaa6VA7wD47NfhJo2AFFH1RuAHlAoO5Eigxhov1yPZWeUCNWY0qYZMzMbpuGSjxVmcigKvK6RgLHB1BHDSNjYGxdL65FOAL572jjua5KpDrMtbh0xINTFD-jEXrarx1cOXTH2TWW2Vd_KMKWWiRQigiXYvMPVOhpppADrZmrBRZQbhDLe4Gj6jBzVbKQBahknoByg5IeK4v8MVk9toIzIygYm_J5-4SyBEOKk0pQoK_QA2nZLJy6-4tu7XXaqv0P35pwnu5PYXCV1eviNly5Ox70Itb58e8AgnvvKMOUhm_z70PdXZgHuXzFpE98FMGx_Qe3LfUOvCeyh7fSbjs4cN5Sme9c-c10r-NLDHuwsyFpx27vs8YMvyatgrLx_i-G6U6EHH4P0HGfgKcV9CwBIUVDKrkkAUsSW75qwRkzaiUW4ls-IDyXTqklyMFCDRw4hxo5aXzuhOIGFlmcsVul_JyLxEN--vB7vrX4PvUH7P7vjeOL-4ZMLr2i_h_EdiAsA8AAL==")