地址:http://jzsc.mohurd.gov.cn/data/company
通过查看请求数据看到
image.png
都是经过加密的数据3、

方法一、使用js重构解密过程

  1. 1、在调试工具中搜索AES(怀疑是AES加密方式)
  2. 2、找到以下需要的代码
  3. function h(t) {
  4. var e = d.a.enc.Hex.parse(t)
  5. , n = d.a.enc.Base64.stringify(e)
  6. , a = d.a.AES.decrypt(n, f, {
  7. iv: m,
  8. mode: d.a.mode.CBC,
  9. padding: d.a.pad.Pkcs7
  10. })
  11. , r = a.toString(d.a.enc.Utf8);
  12. return r.toString()
  13. }
  14. 3、安装并引入一个加密js文件,将d.a替换成crypto,找到fm的值。
  15. // 安装crypto-js :cnpm install crypto-js
  16. var crypto = require ('crypto-js')
  17. function h(t) {
  18. var e = crypto.enc.Hex.parse(t),
  19. f = crypto.enc.Utf8.parse("jo8j9wGw%6HbxfFn"),
  20. m = crypto.enc.Utf8.parse("0123456789ABCDEF")
  21. , n = crypto.enc.Base64.stringify(e)
  22. , a = crypto.AES.decrypt(n, f, {
  23. iv: m,
  24. mode: crypto.mode.CBC,
  25. padding: crypto.pad.Pkcs7
  26. })
  27. , r = a.toString(crypto.enc.Utf8);
  28. return r.toString()
  29. }
  30. 说明:
  31. f为键,m为偏移量,mode是模式,这里有不同的模式,具体的值要在具体的网页里面找。这里使用的是CBC
  32. padding是填充方式,这里使用的是Pkcs7填充方式。t为加密的数据。
  33. 4、完整的代码:
  34. var crypto = require ('crypto-js')
  35. function h(t) {
  36. var e = crypto.enc.Hex.parse(t),
  37. f = crypto.enc.Utf8.parse("jo8j9wGw%6HbxfFn"),
  38. m = crypto.enc.Utf8.parse("0123456789ABCDEF")
  39. , n = crypto.enc.Base64.stringify(e)
  40. , a = crypto.AES.decrypt(n, f, {
  41. iv: m,
  42. mode: crypto.mode.CBC,
  43. padding: crypto.pad.Pkcs7
  44. })
  45. , r = a.toString(crypto.enc.Utf8);
  46. return r.toString()
  47. }
  48. t = '95780ba0943730051dccb5fe3918f9fe1b6f2130681f99d5620c5497aa480f13068063ac378e2b22caa5bb9dfd753cdfc5e3e7970c1c42cd2a329175a20ff189d767bbb15783ec2788514321fbd15912c2605cb412f9da2effa938b6e965697dd4eb0c3dd446fa74f442a555e8113669869e0c74d3ea1ebc64d57474386bc4f95148a1ebb3241b420d1e19c674c9299644724a15d1b6add7d11944e08810b676f5e6cd39b45e63f0a7ae0a7219221e3828702fe3fab6a2d6f71d599b15c1d32e2dc217f901d0a3444ffbd2d4bd9652d49e7d152c4b4e8b993046bb33af2e81f01434394d3c56e01297fa8dd8ddedc1ff066c112f8a9717056c220f619bdbb3887cd13ccd2d68a9eda6f53008189b82ccc47b61ea18ed634c0f29973c4de8a2645edef20d3a031bc1e54fb8814b49d3a102d72f42d5596158a00226be2654fe7bcb054dbeb6dfc91c3337e16da02195a5ac6d6253371a1a4e5ecbfbe7914b659202ac13aad7f63a21d58d48dc287e78fc84b47f8d6f517bc27e071811636d8b2a650d5b2251e883b1d66f3269c91c1b6909f94a5178488b0950dd35e83bef491bd56b7d8c44364c86d833f3dd14f73bdd144a05d82e2ae093fbea7c52050dfb3498b1ed06dfda465afbc5b9f21a3b80dca4d56c9ab808928005e768c3d0242e966bc4eec6f0fec84fe29510ea48695a0af1f62922f514d20f93221a90389d8d1e3235adeab4efcbf1b3895e5fb54424ef802794f15ca5d70cf06421062645cd43ee72d4d7cc1e0bae2b739cbee45333bafd6c85f94e0702ab900d22da356194bbcdc9d179d84d5e712983b3c06a3d500eb220109e5f23a9cf6c585a4f65f6dfe4edf2f02fc800e39a458c220df89ccee7abdb8d009d4825da5c47bdd1b4663f8444afee856a0ec3ecae968cb48e9b16ddb2c43a2360f0d556d84b29b6f2ea834f79783929cceb01db888338e68f6581d87e2c066aa9ca94caf6aeeac081de22734bbc8ebea96c59fb10c6f498f22c1efcc89f10320d788f11e62214ba365ace067e71caf7c39da639a9ad6178c79f4b89aabf19307a2b66f3f32550680eba70f162f4142b30fd31bb3b826afe83e8cf107629b927b858f7dfc8645d09f6c75d6b98dbd8b5fb957d59a63a3108573e06e4818989f08663c3fa91e84b40980808ad36111d180a68bea09bf78c6226488f9e292a5a45ba19c9a2d6b0d5638690e43aa10b11946d3214bec92945d000e6c79beeb1d2c5fd56736cfd36dfd0cf4ceff88552658006da7753f6b6fdc20c6586ce2380a05896d4e95c5b619c1eef39b694c3506cf0b7bb4df0a355a874485c556cbf433772347ac37a177d9ce8b6bcae2ac34f9dc1e127e4eb913c5e8495f45c9653ca11dab69022587b1497308e3c15a61ccba765f11aec4f7921004e7286ab54ce846c6a36532bb0faf28e7d2db52c5474a61da1d6afff979f57fb7d681cfc9ce8a842b4a14b5f480d0463ce9dfba6871371a2740d13364ef4a035556b69f0a1b7e404624cde8675b8774ed99916bb75756bdeaeadd18453662e07a164a2e91cd04c12c8ea2f77c66f88b79e33fec73953b56eb7e8b37194e5e527f11faeabb4054096657155dbde1d08ca4a014c22560e4937500d9f1c87cd335533e3bafdea41a1c9c6b58170a65a4b53b01def2cb8f180a581f8cbb5dcbff39781cb083aa23e8a12fb3a7648119932f55e270b46f7ed8735fa9349fb99e4bdccb9ddc30d6a2e341aa353f69e41161e663cd5752fb09c90b9759d01d7a16f58870c411e6326503ec4dc967b5cff6e6f45fa7f001da2604312bae5e4f380e31a14feb52c093a73dd8bd674a31c08212974c7a7fafdbbdd5c582059919667c967efd2354638652ff77d7bfc29523c15baffa0b262b2399085294e56e058918fac07e411a9045c0e97975eaddf0ecf7a7dbf507636c009fdbfeefed927e0fe9b97dcbc6d002b2844f09f72090ec9c62fbf8c50f3ffce331d1ccb20f98f865effd34eecd1633cdf0f5396c966cb1f1c3efe1d38e5bdd8c1bacf565e9047bd36c95e1e18313a7de4584915132951c20e77d3e12beaef333d2bcb18a7b7eb91d07b9fe51f7f355e97d13078bde19dea3b0e52f7e17154a896bab9c2ed98fc9887ad4deb37ba5bb4069a4a4794b09b4ab381b35e38d084fe18aea4fb347de0945c2b6046c56fc63eb06ce2c39717f392ce3c3fd5dbf18a17b014e4bc79cb1cc04a93e8f6c9d9a74e513de0b5811f4994618e70038ee5913c444803ff6b860284c8f03bed82ff803b84bdead0e9307ab313a98ff47b320358ed8dac0bd7a49c9d9881bcf869c2c9a84840b52319015d1fc968f13d128b07bddf0a456c39f61fd431e996759525ee732d293c20b2f980edb80929f38398ff4a0013148bc7627cafe0c07488a60c4f5b89bfbc3253b7deaf0b9f2438c96748fda05f4b6e32ec66594e5684b6d4d45a2169696ae85bc9d198b138946e48f07229e6336b23af30f64a4312c29572eeac11ab7bcd87f1c019a7c39aee3ce0fc4ba27b217e9258812b9bc925966cec99b3887ec38c3523864d332decac2d6c9cc8c7a81422c3a6577b8877ee7ed90fff1f6689f13f24061b63ecf6cc81cdcca907c57d4390f72a2b10413ddfb139dd926db077f95f6e41183d32e4f17c54f326077c16c20c80f19fe9a5448531d0e0f4f1be60fb4504ef54a6b55d2dc125f12006aecb3abdcd49d68e74367a1de8d22bc9396f4431ad3875a99b5834c69cc9d0d2b7fb65ec92e49d7203153b50f4d8b310efe6508dcb047f958f2174ce2d82193ec21adcb5b03ae13e0d57e41f0fcd953983359c666c129dee80b4f90298e864352bf64aff790223ec9e65e7d4537a2060bfc2799293fe70c6ba6fda8a6f3126bef87a5931668d10be6dc18342b51eb23c17dfa60e4d2fb50bc06a04d8749f04c75f6906be07d0bda7e0950b25a0788e43357b4f808be37122ebd3204664860a145eb36a35963a06168596e6d2b4a52eeccd05f47fee5a7772989d35f23a730bc974b9cc9f31cd8282ff31b15225946def949677596097ea8689d60c2980563804e822450deb939b683857596d78a8716d19b135517935af3e0dc92c53933daf61ef6865e80c5c17e514c211b243c6322ae75e2f944a17a29700b274c26b5bc10bf0d704105d81be5f6dddea5664d6e37b5e0d68629b4266485bbdfc624c6a461dc512c37c44758ae721c50f6cbca1b5a2195fdaed4fb6449fcb500445bb7d92e78300c2959fc4626837d31c427f1b2c00ac39047c514c2426fd4d13c92f40b508eea2c16a0334354b13ecc06090eb1711b9778ee7fb6dc4ec5a371cb864a668c447667d66fbee2090b175a38dea40095128d786885897365c84e4e6b1a3266a5f392cb4a5dfdc734d1fe484a253a657d4c65edc3674c985bef597c0b99cba913828f22226518b9d8d53ce6cac51c6ac843182c9615eec6399b14a21b5c2d0c1ecc3e041351b34ec9faf495366074febf287c93f82abc80d9c5d18430cff0c54ef3f5d0e216673642cb52a475e926281e6237c42932da78478f8fd046ae2df5fd899aad63722129c6a55bde2dfd17b171be8756d2b84b253adbc0d52b44a195351a0c758d858541a8d6d9a5604d2fed14b8d6ac03d834a3568f74a4ba12df13aa3825483a8c4a0d3122ae55ec5725b3343f72e1420756c166782ba91fb4866d2830f65f757830e824cb59950293b2cbe30d339708166e6da57c6f9b9ca04e13ceaddb25b2692b1c92477cfaa724e70829fb5ff5d6699dd87ac73ddab6f59cc9c54675f0311dd90b6a11b4ede5a17bbaf9570eff8e7e86b4cbf506362ff42beb55b71ba3452de851655cb0fe0349805bdd4f5896b7763a89fe5e62c9fb3461a52cc626b3b99b48a016b54ab7789f81eedb1b26832bb72ab4d82314cd9c11c186d9ae00abd796317186346bb01d3565d5912587712794cf3c1aef24c20d3f371b69f019cfd0582e585eb13fbe39700bd4ecb084a68be6f1933c5dd9cf565dd14eb28982249932a30e4d280edc704a5d21e0e5cacfd5551a174033e4511fa579ab9f98dafba2639c8c85a7dbddd1550cc273c3c0b4f4b6cf1624089351712d2e5b26fb659cfba498de08a0cafc03c5a3e1ad73a8fc74cef34d26878ca069d9ccbe461f0f9c85490601a0d8cb09447d049ff06f51ef7a4324d8137736d212b9b21a49632da1b20768c2d1ab7eb2b7a40e3b7b243e3e4317ca3486c803aad9e8aafcbbc6372115ea8fd0a97caa66db9a253e29f97f17196202c1416d79ee69dba5b3dfc4f03cfb2fce30443fcd77512496a788fe480c714208c8624a826cb5d2c2ce0330872770f450f4044ea18f1f842d94aa6320f7c840f6d1143edc4be6b338b204c00476444f2ab0940347457df4c2e95dd3ba6b30ffe2ab0ed7195ebee61993d1de2f1eda2ea044e31b0ef1be50e80e1074a592a93e0bed0d3c7964e4737100d355c5db4fd38b4a6715bd16ab91468906884fea78e21d90cf278c5f76edc03675bb511549614014efe876cd0d6b0a6dfa43360aff05f5b172590e4abddb74bff42d1bdf5188fabd9c88b7be9680ad883bacb705a89361e00431978a83b19a60be5a643ac521ca11bd9b52dd1ca691d92fd715ff18590adecb621be00bfe73ee17478fff5df6dade2b007bf6e1738e3b610396ddebc442525334256f12badd8b638adf872173f6c117c91bee372d5ac3b6e84aff275831c43faa4f86ee6bf5f021d01e4df08552462003521bd93154b0046194d7ef24cf6afab23dae94711dcd6618ddf73f338ddf2ccb1e73e9c9237bdea9c439109a178e52b3dc9ecec1de34cb329dc4b21055882a746b56625caa192b9b16f68075aeeea17e9c3d9bd7ad4a687369873ed6ad3d14161174bf9edca666a2202c495c784e03a1ec1157e9fce3febe8096d4d77c3f53f6434eeb897cdc46d070c8ca8ec494b8d433e0a779f1c28efb6ed645447ce3ddaae68ed2f19f5930103ff45bccec3897b5f414971ab5ea63758f7b59be6024c1affd03d96f501861b42a798d9bf322bd33cec3254673fcfd7e2b852d41b9737518bb6dec0e2ce549223ca54ca18c7634ac174c875b7b63af89cb6ee5227fecea1d4816939e1e8fe788fea6273f318787f5c6b4e46961dd6561f5d78c7b22096b8ddb87493fe9ec8b259bd741dc2dafd7c9fda3fb822289a14124caec67bc08b580214f6f63d54bd80264510d1aab1d7ece574387b0d9d79799975e1ae85a1ac6fcffc31a68d6f8a9d167e719c5631a987f6ef34cf4c2c9925497b3b8c8aa78c5c28ea9629b37b7ff0cfc5068da4ecca018c452de821aebf1ff8a1af364d25849470ec3284ba276a37381c0baeba2c30f906f8cc8bb1c7ddcf5cbfa59031263100e609deb29be26508e746c1eaa61cbc540423e695344f94bcaaea588270ea7750ef1b0c9878162d7ea1324514619ed34dcff83bcc7b7789a5d36bbf598aea7f5bb48c6b0794e3338d1c2c9a9ce8c8f0a5133cf0b873602a24591c7ec687f91465c3f1f9b0b3dfb4b8b4817e9b693c3dafe5940b8666e6bbb26faca187dd4e37897e0743143c7c46a7bacf3f5fd5aedce02dbcc261e5d11622b76d6b364e01b7e8e2cba60c5228c75de346fa2192b63c7656c107183801404e2d17cd6086781b20b2358fc315851eedb3adf7adcb7aaefbe82b2112b3b1055ad6c760083424393c9f633ae9b2901530c5fe5e2bfa589532510593de8309e2dc60d3a0e2b2c1882b3303fd6b14419240dbf296d876280dc160ab44bae55f8ab5055b2b2a4520b906406e6560d2accf6b9368bd7b3196cff2cee84988c7749d3a0bc9e13b0641ad681afb5f9e3c25c33287b7abff7547b5ce47b2a22169fd513c91dd45438fa3c4ef0c1c82e48afe87158407e70c9365ed737bda8927af7a45b81c648a1b03854cca7e25368f974dc97c88d47ba026061d8d2066734bd78a31a9988cb8cb92e6e474e65a3949e2b8b8ea40a5541633d88224208018e300e668f8e4d6439a9eda429431c257856c49e043769744aceb0025f219fd148b435a6511c114306ba0064c1e91eb2c081687ef148483c4ba410f48ea925028092311265c110fb84c2fdc805fbd58da269752bf09e90d635e6498da89510128a62a1ef46c01a518a13863ba9201ea06850beb4a6408d72358331a3d24e73cd9479f3ad031278c9425106a6dee78e9c82ac2404a54e30ed9b61909d915c0c779c92df8badf2585bf689dcc42a0421f1cdc05142347aa268cbaee4b809460877ab75dd19e6c888e03ddb7cc41655ad2d0db86d8d4cb64b19f775943ad53c2f1f2a14dfb7bb8ba02fe144c5a90affb8b934dad4be957ec0c17b5f763e38a538137683f94d75281ebbfe305e965bc7504dfb4ade0693c00dc36a4799394a40d149d0043631dc5c5145ce01fe19d65cd0fbb61b5804fbf063622385b3b462050f5af71ec578f3b04efd6f65c141363d66660a4c9cdb623d92ac28cf7d73e6bea33ffffd95045ec88e77c00260d8e288b77a2ee3a08511bb52d432ba7bbcc16073bb9bc11126f1258bad4d487147a588a929fd8d6972549b40988000fdb2711f3aaa1c4b39798ee5343'
  49. console.log(h(t))

方法二、使用python重构解密过程

  1. import requests
  2. import AesBase
  3. # 获取相应结果
  4. url = 'http://jzsc.mohurd.gov.cn/api/webApi/dataservice/query/comp/list?pg=0&pgsz=15&total=0'
  5. header = {
  6. 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/99.0.4844.82 Safari/537.36'
  7. }
  8. res = requests.get(url, headers=header)
  9. iv = '0123456789ABCDEF' # 从网页中查找
  10. key = 'jo8j9wGw%6HbxfFn'# 从网页中查找
  11. data = AesBase.aes_encrypt(res.text,key,iv).decode() # 三个参数:res加密的字符串, key:键, iv:偏移量
  12. print(data)
  1. from Crypto.Cipher import AES
  2. from cryptography.hazmat.primitives.padding import PKCS7
  3. from cryptography.hazmat.primitives.ciphers import algorithms
  4. def pkcs7_unpad(content):
  5. """
  6. 解密:Pkcs7的填充方式
  7. """
  8. if not isinstance(content, bytes):
  9. content = content.encode()
  10. pad = PKCS7(algorithms.AES.block_size).unpadder()
  11. pad_content = pad.update(content) + pad.finalize()
  12. return pad_content
  13. def aes_encrypt(res, key, iv=''):
  14. # 转码 utf-8 字节 16进制
  15. new_key = bytes(key, encoding='utf-8')
  16. new_iv = bytes(iv, encoding='utf-8')
  17. # 创建一个AES算法 秘钥 模式 偏移值
  18. cipher = AES.new(new_key, AES.MODE_CBC, new_iv)
  19. # 解密
  20. data = cipher.decrypt(bytes.fromhex(res))
  21. # Pkcs7的填充方式
  22. return pkcs7_unpad(data)
  23. res = '95780ba0943730051dccb5fe3918f9fe1b6f2130681f99d5620c5497aa480f13f32e8cc4b2f871a9a59a1d0117ce9456ce6b66396085eaa2822aa2ffc121eac1885d297bbd68dcda88cd8b0b29e282f9fd6b8392d52b817608665d8a565119f3346fb19449490842b923ec5781524595bc078b2c15e47473f15860e2ed45c9dbab5a750581a26fcb22b99228eb09b541e83ac3724f373a7512ac3827fa40354d1e9af350488194daf6b0317870a9a65dee320e0d4cb84708b25e383c02095c17f20d09fb39ab6e1a150c85818ecc2a31c384412859eff0026319094965cffffbc42c9495ee35f03b2440b8baac751927c38b616dc2042a64223fa6a72f1dc685fcbb38fd7cc47f1efbc9f5bd2c7490e58fbd36cf5a3b4be852fac87c6e682bb7d554b9990431e2d550d914754c6ac899fef97980084a6ba4bfda771be81ea11fd1542b6ffafe1439be2c94f74f6a83bfce6d2bc2e9dc1d86b84eeb85c2b8dda8846d65232148f9d88ac4a675d2049c1ac6efae1e4a5f4a106f0e627fb89199d9491303a792672832269e9a5cc208be00fbf1baf342262ebdbef5eaf3a50a52eeae2811f2813697018bf103df428dc0d496af435d2384b2198000add245d87233c3955695a6daa1bb4bc5a8657b2c9dfbf9f4067097df759f5724a5cb3a747a58509e2f22da6cbcdd29ba95dc555cd40cba6d0a2eced0b15ece067bc949dce784b2ceb06a61e9f7dc8943445da701c15fc7053f2c21ea1fc877e02280d22f913983c6f1dead091312c37aa90a5967b71b4c34dab24468bde5f747d8f44f8fd4b0fa493ff49b92441a7e1e8c256a6a18573baa1bf16f5093e36a7c9e282a3156dba776ea6a94794c9a034ae4f5e77761e49569d194d10703302476e7fd8e25ab4669f0c7a6c7d0e2680847d77ea5a585f7f60e7fcebb1ae791b8216bb25b644f5094157bd62c6aebf0a7faf173b2fde0da6f9ebb0dcab8a129c11b9f972445aee5297d38e0cc72d0b4d9c84c7e6b0ecf592d37998d04df8c52d5776c2741863b5fefd69302f176909b6bc065c4b81fc959a348368d250a03a86145f81950937ca83e3a765e6afd71d00c68faeca8d4d76f5ad762fc7d17fd05894857841bec355bb1d7f75db95c8e30dea58536ac6288fd3429ca9ab48d1eddb48631734ce2a574d79b93952fa2c9e9665c6337b35ea2309344cd22fe1b92dbd02051917d6c5edf1f2259c5f8a0cb3fbd00391c298f0461ba16a2300337d0b60b224bc6b796cedeb427cd07d97f17460d490bc3b112d2b8403026ff5ff5a70dde82cf210f22c3c206ca3bfe34cc137bedad0f1ae712d7168226a42fd22f9e17dede40654157e4c4756bd10292c7d0e2eefba36634309aeb24d3725802243e2003a68dac0a3b539eed0dca51f6f0d57a5c58a117fc56910d0e7319b05e0fc4a5137952e2f958636b584973da7dd61b63101e2d0cffe2b249c562b72b64fb6ca67ed0246bf0f9185fe22c87dc6d3c8374239dd4e70cdbc5ccacbd359dea203c021ac7d54998b2f1571d7f787a3ce1c4fda45037bd33be1ff9da883a556e2ef81ad2047d35a5065e73402e0e02231bcb3724445df198ad53112db4690091a98edea0fd194480b4193c2e9bb1cee1fb37654fce593cc88c59537003dd297be5d88834ec00595a4dda9fe44e14193482f1d212cf33ec58be3edfbecf7c7908bbf4c4b9beee5d0ef148e1bbdae9daea30beadcc6f5639a6f4eb57719fda5bc0e8766a52da34f17f2aa1a4b608fb6e53938d8e74d3b53aaeee663e1053e8444d44fb7a782d3b087155c9341559ada772299b988e859039435751592c25532090c0cc1a4445ba93ab3a1c9e8cd198251ed3ed76cc5091b83ead3cf1e11ceeeb0461e923c394a0a9f37220b9a5ed8e5f01b360eb6661a6456cde6a4497186567d4324d469277be217c03b84048ad272a3ea49b943f4c7c70487d060cd24cd9ea61032207c2a13c1384e0b5159d70d78d5e224401b5142ca2548ff2a13d1029a3b54dd68c7ac03d2c004c645ea586cdebf96267fffac4079305e37ab11e3af6bdff0e296ee4b5efdd00b48f44a91eb8475ddd6668a0b7548a7640229aeb650f76e02005b782a0a082175f256654aa8e0f3e3675726c9697978fd4ac35b6b64107e373cf80a9881152e62b2c1841292dbc40c41a7a36c8d353f2add2731415dcd81be8b3cdbfe26dec973a4e6edf2382992409db93aea8f354fbea21a21c54747ac540e752b5b13fee5f5d30277de7178eb998e31656b266c4de884a878251d6108ef36bfe8ec1020cbd469debe57478fb3af6d369a6e12499ba5ee436cef3f3089aa1710a0ddf84809875b5fb0cf1ee1aedbb25e0df0617f1ec2b6bea01ba4c9ab3c54b8cecc1b12f47bb10b64e5c733e88a41db29467387833535071e3566f6c69eacdfb2141fed9bac9babbc6571aa1c284d8814cbc18a2c9f31c5ec801f4dfd9f7798c6039d0e66a6c9115d8bf6fcfea430506d4a6e06751d826909e311f0aab8c992aecc840fa8014c8b340dcfb063837aff3aaae1678b135057bf32f879948f99dda769f85bf3776fab9cb43b75ff52ed3ca7353c6fa1563d45735369b6f4f94e9aae0b4ac261b82b694c7822209b3d887c1f2e4861779ef5252a355539a4b68b38242ff47814a6f713484ade34bcbffced4de4eb8d5808cd45860d1b8f631c8200dd14c311d259da042a143ce9f29c33d0b7d1a680658d58c9348310fe78fc51ced58968e87b93d66b4ca4f6713db2cbfc26620319e691deca42c4491b109e81a4bdbda4c0f55f612322ff4cdce089f3015650f11ac30b50082d0d695acc830579513e0701325f152e7825bad57feeacbfe37b5139b57fb7b05fa810da98bd682964d78601bea90b59c3a2449364dafcf2e359a5fe0e4128452bf93ee6926b6bdeedce37a37383610ffae1700db539f9c2255f27a5f0ab9736b6e0ef943cc579b6c3b2399f89f924b0fdab56827122607535b7365c1a8e11cb1cc7c61465bcecec575650197c8e50b2eabe8c4ef9882fccc79c2972ad78233342a3ce3d7b56b3be6314c819fee365e665c0e76e6ba29e1cb961d9c3a5e7414bf759c42f874caf2a52d82ebde9025d51c8d6364946ab2f3d507ed6f43038ec1aa5111ce3289e1c3d2650e8b71556abcfb08abee27c433c63c6fe55a37dc9bb40b24601c989b52dc2c0639afe4cb1ece076e2772afdb4e7e1789044f2149905fa20075f6ea970f9907b7791e9cc695dbb39004274779b36dfe99fb5cfea67fcff4c6cfb1f3e7e84f8a2249b8740d4617867c2c50618a6680b96f1db3262c48301ed4cf144819c4de3ca385d826ec46842a7268a2b952d8a5532ccf5ead165c28da4c005cf25bb38b804c97193333ad1c42c7bc4bb6a10c06a2fd9e88005715679d7e2ec173865d67aceda8395c8ffc2bfb16fb11025a03c311dc7a51306f2913ea14ad7cf9abbb1697540574b1ae5fb46ba4eb0ccab9dd2dc5b3d975ad132ab37b3bcb48d43b0668d160f29d21eaab862c9660609a91b684a5877683801a6b80c330cfc3d08c0265268ed9751b3f0b01cb6f1b4ec1bfff120cb547d59ddf1221f4f0a56cb1294e2c43ba22397553b14157b73675a14cca11d65dbf34253a5934f9c3ffaf8829ce19c4f1c5652b45cc0b3ab2e47a6767cfbdde54c342bf923f35d5f2e25f0382f978beb593a070f87dbf8d626aae6789dcd142fafba9eabc35f671b5b4cb2d0f761876b594678160694b125152d709e2a7d55eb76380ec1285df9255b137c6f810df4cb9447f24c7f15f483949287501a38b35010822c37e6c7cd110f14fd5acbb476903dd5701cb145c5a4ec434ec45c7e62aec6528e1c7eb419a6ea8209a34092cd28cd1801205095134684de551eac400ece5ed76e0bafe79a77500d0955057ba30984ff0ec22a8df27ab77ffaf3b22723df2e2d4fb7b907134e9d2ad056574d55fa30b00881c155eae37b264e92ecaa2ab1a05b5ddf82fb1073a623903bd05cc057f5029548f4dd270bb3f128cd973a608941096af8bf2eb114ed8afee8b37ab5f6091449fd3c740064aa2a941975309c387a6a8f265cde923032fbdfed31bc50b45ba76016e7552a5ae64db6699052a72dba9d3a2655876a981df267d6c16cdc1561316809c533da9137c2794d53a25e9df67cb6b3e446d79251e098d2687d7f9810a5180989b3a6c225e9733ab1ef03db8e285f16bc1bc2d9d593ae511baa5110b213fcc72404f0e3c6784a21e397c7c9346153fef68fbf34e72cea62c95d71731f44794e2e6aace889e71719c7688a53dc664986fc34f3b523ac0125cc2aaa970864d51420bf847fa7dae0179f46c03afa49b6cdedb4acd7b62974a50f7ca6821b343cc60c167d36f2d0d198b565bec9354b914e04fbe876a4bc646d210ab58d76af889cb0b9c4e94e4a3b4976cbb6fc0f01370931747bfc0e9bfdccc34d6736072d63b8f2587fb18db39ef012ec4184d113d76e2ad1695dceca521fee480f3eac0c3ed266f2885792ab3c5b50f223183ea90a9fd6c919d545478b0c592002189da8f129c8f8e894b3259e5e781a323bb2cd1af60607a92e5fc2a8fbbd515339debf83acc1288c40b45f8d7b439bdd0e82a3879133d1120d22ca6cb2d205c4df226079c9485989dc7333dfb0e4f52936bae9c190461e0e764dbfbef826c20997f8442e6260c074761afbe7435c31733b50c459b553152307823108687f8ced58e526dffd152f2055d70ffe287aa03628ad5ef3f1bef098b79b789d7ce08680113720b60b64e0c262024b02fc1393fa69194f0862c60a01bbf7a005d1120d88f00c7dd80a0bf4d9df48b156707f2afb4bc2373c42dc9d2107c9d7eafcd66d7e88caf2ded64c85f4b099aa4a5b87bc5e0e4bc78d4df227bb8b32373fd64242d14654274fedaa288ed56e2bec3c79dc572ecd2573712903a832b944d51c6726060132af10d0e5e7c3c828d0f8e986b15b02e060d3a8143a4a1da4fe0fdfd51bea38a1d86f05c95fa6d0333c9767fa3bf2d71cb809e69ff8476c7bcda1254d30472670c10b01208056897f8494a07f7cf3329741fa4a6c3727563dc9c8a28e4a4bcf49ad1c63a24cbbee2676c232458e93972253b6b4db6afec8e9f3f98c511e35b3295aaa96583c135b2a53b85c4c0b4db25b64b81c840b51297894b6dfd4c531be6dab241b19808a28205fb65b1d82b5cfcc9ce98052d22ade9c10953a6e500ca549833307dea3f078b5573b4be2140e8686c5ebb853564c7f871eba037896144f2bd67fb90026ab5d817b9d025edb60b795084bd7562a122a7e3d7fb77dae46034e4175b58b441f1a71439a2e69d6c27042df8a6b6bbc1033aa0fe8872477fcf4e3e528d6b1eca43a4915fe9564cf5f58eab2a66379856e57cc59f726db7ac4f7115a330817624d5558d7db65081288a88651650c52823fb2538a984384841a6d24b3860db1ca1bc6d862855d0e5e5f5ff6311d0fbb6644ae89404490ff2bb20e88909a17f73d0a9ffad50d12222cf676182f53a7272e32af823521cfb1323d122d1a49984f4a8e8848ba66e58a7c0271669659ec044486b8b740547ca012480f967cd2cc98e9d26d70361db34319e7f08307767b6f4814626e9b5cd41c70978615e10138074581ad7bc5a388a598e0d519473f5431cd5291a54a6a12d469ec76aab392e7403117d9482858e6a49cc7f88d4a32a963467a865b6a99b6555a4b92a1cdbfcd239cb1e2428fd39b3a4056494b394291561527f01e5c76a03bebc8f8fe2a93387106965f1ee46c95c2a37ebadae9dd1b9883bf9b78a9a3118ef6a0203b8f3111a31788d03772c8b15c7f805e172a63b931413097cfa11cd769767394c5287cf631a76d323e2c6d049043bbcc52884c8b0a7df8b6c02cf878bd51a6c5167570077484eaf4b12a7e8d4aaf72833bde4d8f774f276ad0c2f89ac104b856dc308c185e7f417c0d371ed34db32a5d627b7ac3ccd4d33f5007a627d13bcdb62a06434598422244c34dddc48b00c4453b2aa9099a1f4ec3ab5a3c31dc8aa600dcf74ddd7cf30429ea91b01b452afba639379881f532ae4d648220eb6552758dc47752b391d746922fbbd8cce200e305c5f2af90023a283bae8932edc0fef4c2b9b34b478ed02b5'
  24. iv = '0123456789ABCDEF'
  25. key = 'jo8j9wGw%6HbxfFn'
  26. print(aes_encrypt(res, key, iv).decode())