【问题标题】:Need to decrypt data by using key and iv in Python2.7Python2.7需要使用key和iv解密数据
【发布时间】:2020-09-09 02:23:36
【问题描述】:

拥有需要解密的密钥、iv和加密数据。

得到没有错误但无意义的数据的输出。

import os
from Crypto.Cipher import AES

data= '48fcbd0c1e1643bd618c010e57142a1e45c7fd5e36374eb1738f5b9ab6b4ce67bfea3e226426d43a2aaf9140eced8547d7a6199bde167a9e20de0a87f5c9a9a34361dce8d1d8c35a00018895c200bedebf24c30c920c134e5f956d1dfd1201abc3410c093adae070d7771bb5f99145351620573e6fff748ee3b260c9c2a483b886f331497c4023eb370ad1f881a4d165bf5cc8eb9e4008529e6ad2b759767c4cd65f764ffd6412fb58ce5914e2a5280024ac353b5d3b69707afe0c2ad138ffa85b712de22fb84ff2276fe360d6f87abc7879c3e592ec36055da14952eb0c1c973d8f55bd4b662593875b29b83be90b2b4f944b1ed036d4d2e3912ab11c42f77444c93e94d953023a27e8dbd24d7df17c27de5f0bf1ad334d833a8fa78d7ffc85179dc1ade4c32ced6bd902e8ddedad7305db5d2d1e33e5d96cb4422b4dc8f9ab6bb1e88685c44f6bfcc97d1d6b59ab96578c443103f5d4ae72b4cf09a87935e217ae9457a37433b97f6ba7700e1c5960cfefd255f0c740259f8e3c0ac8e9bee82b36742f5922d14964015dce9b2a8a014494821a98224811f2649e92d0372603fd569103be7763065bb9bc2a6a08a9f8da0ce1b567028ae41b83a8e2d19f6f98e22290aaca549c25318cd57f85b0dd9fde9c93f9f790b93a3f4f1787c34382b2b3b9190702723a1fd451c0e285b9258bd6e89b6bf3682760b1273c1a5c7781bac7db9c024e981099181b03c8f85ce0accfa4e1448539b1b62733192a8e2cf98741cfc60e13753c4ca55b26a40fdf0616445a9a46428adc0852c5c84d0a3878ee32f3d1b88cf7cf19a58bb69fb3f4cc43baa67012cc1947da6c0253c9cc291cfcc721faf0e3c16e738c52b94308d7c51a6bc929b8b106dfe546066215a84d410644d5bc6a4b5feae10a377ec57ca3ddce6073aa6f7e968ef97ac1e52a449c1290aa06442e8c15e0aef8d75a6348a3be2869fd90a944867ea7779c01530f73170adf5509fbf3600825758f85372afedb56'
key = '24305c3a354951afe96d1800ad9299bf'
iv = 'heF9BATUfWuISyO8'
decryptor = AES.new(key,AES.MODE_CBC,iv)
decryptedData  = decryptor.decrypt(data)
print(decryptedData)

【问题讨论】:

    标签: python-2.7 encryption aes encryption-symmetric


    【解决方案1】:

    密文是十六进制编码的,解密前必须先解码:

    from Crypto.Cipher import AES
    import binascii
    
    data= '48fcbd0c1e1643bd618c010e57142a1e45c7fd5e36374eb1738f5b9ab6b4ce67bfea3e226426d43a2aaf9140eced8547d7a6199bde167a9e20de0a87f5c9a9a34361dce8d1d8c35a00018895c200bedebf24c30c920c134e5f956d1dfd1201abc3410c093adae070d7771bb5f99145351620573e6fff748ee3b260c9c2a483b886f331497c4023eb370ad1f881a4d165bf5cc8eb9e4008529e6ad2b759767c4cd65f764ffd6412fb58ce5914e2a5280024ac353b5d3b69707afe0c2ad138ffa85b712de22fb84ff2276fe360d6f87abc7879c3e592ec36055da14952eb0c1c973d8f55bd4b662593875b29b83be90b2b4f944b1ed036d4d2e3912ab11c42f77444c93e94d953023a27e8dbd24d7df17c27de5f0bf1ad334d833a8fa78d7ffc85179dc1ade4c32ced6bd902e8ddedad7305db5d2d1e33e5d96cb4422b4dc8f9ab6bb1e88685c44f6bfcc97d1d6b59ab96578c443103f5d4ae72b4cf09a87935e217ae9457a37433b97f6ba7700e1c5960cfefd255f0c740259f8e3c0ac8e9bee82b36742f5922d14964015dce9b2a8a014494821a98224811f2649e92d0372603fd569103be7763065bb9bc2a6a08a9f8da0ce1b567028ae41b83a8e2d19f6f98e22290aaca549c25318cd57f85b0dd9fde9c93f9f790b93a3f4f1787c34382b2b3b9190702723a1fd451c0e285b9258bd6e89b6bf3682760b1273c1a5c7781bac7db9c024e981099181b03c8f85ce0accfa4e1448539b1b62733192a8e2cf98741cfc60e13753c4ca55b26a40fdf0616445a9a46428adc0852c5c84d0a3878ee32f3d1b88cf7cf19a58bb69fb3f4cc43baa67012cc1947da6c0253c9cc291cfcc721faf0e3c16e738c52b94308d7c51a6bc929b8b106dfe546066215a84d410644d5bc6a4b5feae10a377ec57ca3ddce6073aa6f7e968ef97ac1e52a449c1290aa06442e8c15e0aef8d75a6348a3be2869fd90a944867ea7779c01530f73170adf5509fbf3600825758f85372afedb56'
    key = '24305c3a354951afe96d1800ad9299bf'
    iv = 'heF9BATUfWuISyO8'
    decryptor = AES.new(key,AES.MODE_CBC,iv)
    data = binascii.unhexlify(data)
    decryptedData  = decryptor.decrypt(data)
    print decryptedData
    

    这给出了以下明文:

    connection_type=wifi&app_name=MLB9Innings17&app_version=21&app_version_name=2.0.2&country_code=in&device_brand=Videocon&device_carrier=Jio+4G&device_cpu_type=armv8l&device_model=V502430&google_aid=b2753f4e-8aad-44dd-b7b6-823923eb5d67&google_ad_tracking_disabled=0&insdate=1495711043&installer=com.android.vending&install_referrer=utm_source%3D%28not+set%29%26utm_medium%3D%28not+set%29&language=en&mat_id=cc92c5ce-b617-4b6a-b1ce-596da5077425&mobile_country_code=405&mobile_network_code=872&os_version=6.0&screen_density=2.0&screen_layout_size=1280x720&sdk_version=3.11.4&conversion_user_agent=Dalvik%2F2.1.0+%28Linux%3B+U%3B+Android+6.0%3B+V502430+Build%2FMRA58K%29&currency_code=USD&revenue=0.0&system_date=1495711261  
    

    请注意,显然没有一个标准paddings(例如PKCS7)用于加密。明文以两个 0x20(空格)结尾。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-16
      • 1970-01-01
      • 1970-01-01
      • 2017-01-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多