{"id":202,"date":"2023-02-09T10:28:07","date_gmt":"2023-02-09T02:28:07","guid":{"rendered":"https:\/\/www.peijun.site\/?p=202"},"modified":"2024-01-10T10:48:22","modified_gmt":"2024-01-10T02:48:22","slug":"9-aesecb%e5%8a%a0%e8%a7%a3%e5%af%86","status":"publish","type":"post","link":"https:\/\/www.peijun.site\/index.php\/2023\/02\/09\/9-aesecb%e5%8a%a0%e8%a7%a3%e5%af%86\/","title":{"rendered":"9.AESECB\u52a0\u89e3\u5bc6"},"content":{"rendered":"<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"python\">'''\r\nAESECB\u52a0\u89e3\u5bc6\r\n'''\r\nimport base64\r\nfrom Crypto.Cipher import AES\r\n\r\nclass AESECB:\r\n    def __init__(self, key):\r\n        '''\r\n        Param: key bytes\r\n        '''\r\n        self.key = key\r\n        self.mode = AES.MODE_ECB\r\n        self.bs = 16\r\n        self.PADDING = lambda s: s + (self.bs - len(s) % self.bs) * chr(self.bs - len(s) % self.bs)\r\n\r\n    def encrypt(self, text):\r\n        generator = AES.new(self.key, self.mode)\r\n        crypt = generator.encrypt(self.PADDING(text).encode('utf-8'))\r\n        crypt_str = base64.b64encode(crypt).decode('utf-8')\r\n        return crypt_str\r\n    \r\n    def decrypt(self, text):\r\n        generator = AES.new(self.key, self.mode)\r\n        decrypt_bytes = base64.b64decode(text)\r\n        meg = generator.decrypt(decrypt_bytes).decode('utf-8')\r\n        return meg[:-ord(meg[-1])]\r\n\r\n\r\nif __name__ == '__main__':\r\n    key = b'1234567890abcdef'\r\n    aes = AESECB(key)\r\n    text = 'hello world'\r\n    encrypt_text = aes.encrypt(text)\r\n    print(encrypt_text)\r\n    decrypt_text = aes.decrypt(encrypt_text)\r\n    print(decrypt_text)<\/pre>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>AESECB\u52a0\u89e3\u5bc6<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[],"_links":{"self":[{"href":"https:\/\/www.peijun.site\/index.php\/wp-json\/wp\/v2\/posts\/202"}],"collection":[{"href":"https:\/\/www.peijun.site\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.peijun.site\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.peijun.site\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.peijun.site\/index.php\/wp-json\/wp\/v2\/comments?post=202"}],"version-history":[{"count":1,"href":"https:\/\/www.peijun.site\/index.php\/wp-json\/wp\/v2\/posts\/202\/revisions"}],"predecessor-version":[{"id":203,"href":"https:\/\/www.peijun.site\/index.php\/wp-json\/wp\/v2\/posts\/202\/revisions\/203"}],"wp:attachment":[{"href":"https:\/\/www.peijun.site\/index.php\/wp-json\/wp\/v2\/media?parent=202"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.peijun.site\/index.php\/wp-json\/wp\/v2\/categories?post=202"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.peijun.site\/index.php\/wp-json\/wp\/v2\/tags?post=202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}