首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用已加密的Python3解密数据

使用已加密的Python3解密数据
EN

Stack Overflow用户
提问于 2021-05-01 04:32:50
回答 1查看 44关注 0票数 0

我有一些用AES在Java中加密的数据。现在我想用Python解密。以下是解密的Java代码以供参考:

代码语言:javascript
复制
public static String decryptAES(String input, String key)  throws EncryptionException {

    String clearText = null;
    byte[] keyBytes = key.getBytes();
    SecretKeySpec keySpec = new SecretKeySpec(keyBytes, "AES");

    try {
        Cipher cipher = Cipher.getInstance("AES/ECB/NoPadding");
        cipher.init(1, keySpec);
        // We need to revert our plus sign replacements from above
        input = input.replaceAll(Pattern.quote("_"), "+");
        byte[] decodedInput = Base64.decodeBase64(input.getBytes());
        byte[] clearTextBytes = cipher.doFinal(decodedInput);
        clearText = new String(clearTextBytes);
        clearText = StringUtils.strip(clearText, "{");
    } catch (Exception ex) {
        throw new EncryptionException(ex);
    } 

    return clearText;

}

这是我所拥有的

代码语言:javascript
复制
from Crypto.Cipher import AES

encryptionKey = "]zOW=Rf*4*5F^R+?frd)G3#J%tH#qt_#"
encryptedData = "Hx8mA8afdgsngdfCgfdg1PHZsdfhIshfgdesd4rfgdk="

cipher = AES.new(encryptionKey.encode(), AES.MODE_ECB)

plain = cipher.decrypt(encryptedData.encode())

print(plain)

但我得到了一个"ValueError:数据必须与欧洲央行模式下的块边界对齐“,我确实在谷歌上找到了一些建议,比如ValueError: Data must be aligned to block boundary in ECB mode,但我真的无法让它发挥作用。不知道数据块大小应该是多少

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-01 05:22:51

@kelalaka建议使用Base64解码解决了值错误的问题,但输出似乎只是随机字节:

代码语言:javascript
复制
import base64

from Crypto.Cipher import AES

encryptionKey = "]zOW=Rf*4*5F^R+?frd)G3#J%tH#qt_#"
encryptedData = "Hx8mA8afdgsngdfCgfdg1PHZsdfhIshfgdesd4rfgdk="

data = base64.b64decode(encryptedData)

cipher = AES.new(encryptionKey.encode(), AES.MODE_ECB)

plain = cipher.decrypt(data)

print(plain)

输出:b'\xcfh(\xb5\xec%(*^\xd4\xd3:\xde\xfb\xd9R<B\x8a\xb2+=\xbf\xc2%\xb0\x14h\x10\x14\xd3\xbb'

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67340121

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档