当前位置: 首页 > 知识库问答 >
问题:

有没有一种方法可以用Python解密AES?[副本]

劳亦
2023-03-14

因此,我能够使用CryptoJS在javascript中实现这一点

var key = CryptoJS.enc.Latin1.parse("m6h6dTeZavubd74U");
var oldData = CryptoJS.enc.Hex.parse(16BA1AE9044682B675B1324F4BB311AB13D95B393AA46B4F038E4632936F3D848A959BDE4537629833B4FA085B6A333754FFC9ACBF1747A799D1102534CE335791133E9FCFB563BAFB8F53719F9550BD25A0B862D37CEC185E66273B73DB0D86F9CAF5D2BFFB3C4C3950C209BDFF54B1F7B4649389BD83FC01EE8FEA2D908F6C51F5578931C6A71341B23307BADB5F2D4ABE3B6BC61A100E359D7FE28CFF287210C0178C69CC8204F448CBFCD0E8AD573D895D9B453CBCEB2254E372B96295D0E2CD51924B5BC71BF27DE1E7086CD0988617D3ADEC3AAE9C382E1988B4D12125314B578A7DBC0CCE9661CE51C4D7162DAA82FF7255C44B538A5071966BC747522320C6E5FECED5C773678CB4A2D63D92F5142DE0850632ABDAD5AEDC35E83A551388C244703FC7C83D41856528C11B1AF8B39F71ADCC8E4747394CBAE9910FA3DB666AF0A249CBCE1A7F0987A29E072AC521078300854C7C86A8EF9C1425E64838E9B6B0C5251FD395C9AA244AF1B63B4D7D6A334B045FD990744E8CE04D466568133B7D0CB82B638DBF0C1F05DDA2B751E828A0F7B735E77323EAB0205F6B76E806A1054B8409EEA5C3864E12A543DB0A8D06580A2DC9236A6CBB0A0CD17DAD72C5C547EE51697B0EAFCA4A9E538EA3DF8FD4636A622731741AC2EC01E737563BEDF4B7EB1A46F07C28AC6F7625F5CE39F28F5774AD88092178BE01D4A6685BC5693B024A52AD1250773C820FAF46FA1CB35B36AAAAB57F1EE1A67001B65EEDDA6D7CA7576DF249BFE1958E0DD73B31DA552E3F952BC699E0ACFCDDB8098F42E4E59AF579BA6D7B98DE0865A2E3C80DBDD100BC3F5DA8E009A3FC251D6FE78D);
var nextData = CryptoJS.AES.decrypt( { ciphertext: oldData}, key, { iv: key })
var plaintext = nextData.toString(CryptoJS.enc.Utf8);

这给了我一个JSON输出

{"widget": {    "debug": "on",    "window": {        "title": "Sample Konfabulator Widget",        "name": "main_window",        "width": 500,        "height": 500    },    "image": {         "src": "Images/Sun.png",        "name": "sun1",        "hOffset": 250,        "vOffset": 250,        "alignment": "center"    },    "text": {        "data": "Click Here",        "size": 36,        "style": "bold",        "name": "text1",        "hOffset": 250,        "vOffset": 100,        "alignment": "center",        "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"    }}}

然而,我不太熟悉Python,但我想知道是否有可能在python中执行相同类型的AES解密。谢啦

共有1个答案

乔伯寅
2023-03-14

这几乎是一个答案,可能是解决方案的起点。

您必须使用以下设备安装加密模块:

pip安装加密技术

消息解密几乎正确。

我有一个解密错误与前几个字节虽然。也许其他人可以确定密码设置,这将解决这个问题。也许别人知道出了什么问题。

import codecs

from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes
from cryptography.hazmat.backends import default_backend

backend = default_backend()

key = "m6h6dTeZavubd74U"

msg = "16BA1AE9044682B675B1324F4BB311AB13D95B393AA46B4F038E4632936F3D848A959BDE4537629833B4FA085B6A333754FFC9ACBF1747A799D1102534CE335791133E9FCFB563BAFB8F53719F9550BD25A0B862D37CEC185E66273B73DB0D86F9CAF5D2BFFB3C4C3950C209BDFF54B1F7B4649389BD83FC01EE8FEA2D908F6C51F5578931C6A71341B23307BADB5F2D4ABE3B6BC61A100E359D7FE28CFF287210C0178C69CC8204F448CBFCD0E8AD573D895D9B453CBCEB2254E372B96295D0E2CD51924B5BC71BF27DE1E7086CD0988617D3ADEC3AAE9C382E1988B4D12125314B578A7DBC0CCE9661CE51C4D7162DAA82FF7255C44B538A5071966BC747522320C6E5FECED5C773678CB4A2D63D92F5142DE0850632ABDAD5AEDC35E83A551388C244703FC7C83D41856528C11B1AF8B39F71ADCC8E4747394CBAE9910FA3DB666AF0A249CBCE1A7F0987A29E072AC521078300854C7C86A8EF9C1425E64838E9B6B0C5251FD395C9AA244AF1B63B4D7D6A334B045FD990744E8CE04D466568133B7D0CB82B638DBF0C1F05DDA2B751E828A0F7B735E77323EAB0205F6B76E806A1054B8409EEA5C3864E12A543DB0A8D06580A2DC9236A6CBB0A0CD17DAD72C5C547EE51697B0EAFCA4A9E538EA3DF8FD4636A622731741AC2EC01E737563BEDF4B7EB1A46F07C28AC6F7625F5CE39F28F5774AD88092178BE01D4A6685BC5693B024A52AD1250773C820FAF46FA1CB35B36AAAAB57F1EE1A67001B65EEDDA6D7CA7576DF249BFE1958E0DD73B31DA552E3F952BC699E0ACFCDDB8098F42E4E59AF579BA6D7B98DE0865A2E3C80DBDD100BC3F5DA8E009A3FC251D6FE78D"


def decrypt(key_aslatin1, msg_as_ascii_hex):
    msg = codecs.decode(msg_as_ascii_hex, "hex")
    key = key_aslatin1.encode("latin1")

    iv = key

    cipher = Cipher(algorithms.AES(key), modes.CBC(iv), backend=backend)
    decryptor = cipher.decryptor()
    rslt_bytes = decryptor.update(msg) + decryptor.finalize()
    rslt = rslt_bytes.decode("utf8")
    return rslt


print(decrypt(key, msg))

显示的输出为:

_3.CLUnu "debug": "on",
    "window": {
        "title": "Sample Konfabulator Widget",
        "name": "main_window",
        "width": 500,
        "height": 500
    },
    "image": { 
        "src": "Images/Sun.png",
        "name": "sun1",
        "hOffset": 250,
        "vOffset": 250,
        "alignment": "center"
    },
    "text": {
        "data": "Click Here",
        "size": 36,
        "style": "bold",
        "name": "text1",
        "hOffset": 250,
        "vOffset": 100,
        "alignment": "center",
        "onMouseUp": "sun1.opacity = (sun1.opacity / 100) * 90;"
    }
}}
 类似资料:
  • 有人知道怎么做吗?谢谢你的预付款!

  • 问题内容: 嗨,我想使用WMI类来查找应用程序和产品信息。但是问题是我想使用Java或任何脚本语言(如python,javascript或perl)。我听说过JWMI,这可能是一个选择。有人可以帮我吗??? 问题答案: JavaScript和Java不是一回事。 JavaScript Windows脚本宿主(WSH)下提供了JavaScript。有了它,访问WMI相当容易: jWMI(Java)

  • 本文向大家介绍Python实现AES加密,解密的两种方法,包括了Python实现AES加密,解密的两种方法的使用技巧和注意事项,需要的朋友参考一下 第一种 第二种 以上就是Python实现AES加密,解密的两种方法的详细内容,更多关于Python实现AES加密,解密的资料请关注呐喊教程其它相关文章!

  • 有没有一种方法可以用W3 web技术(例如SVG、canvas)来实现这一点?

  • 我有一个主键,当我尝试插入一些数据时,它生成了自己,但问题是它将生成我之前删除的最后一个 我想在输入新数据时输入生成的id将是17而不是72,依此类推,我使用的是SQL Server2008,帮助:{

  • 作为一个学校项目,我正在开发一个坦克游戏,我正在努力使它尽可能的用户友好(比如可定制的按键绑定、显示设置)。然而,我不希望游戏窗口失去它的比例,所以我想我会在游戏窗口的两侧添加边框,以支持宽屏幕。 我附上了一张图片来说明我在寻找什么: 因此,为了让它工作,我需要一种制作“屏幕层”的方法。基本层是整个屏幕,在屏幕两侧添加了一些图形和显示分数的字体。然后,第二层将呈现在屏幕的中间,这将是游戏窗口,其宽