用python解密字符串_解密Python中用J加密的字符串

我正在用Python开发一个服务器应用程序,并用Java开发一个连接到它的应用程序。我需要用Java加密字符串,然后用Python解密。在

Java代码一切正常,但Python代码有一个问题。在from Crypto.Cipher import AES

obj = AES.new('0123456789abcdef', AES.MODE_CBC,IV="fedcba9876543210")

BLOCK_SIZE = 16

PADDING = " "

pad = lambda s: s + (BLOCK_SIZE - len(s) % BLOCK_SIZE) * PADDING

plain = "password"

plain = pad (plain)

ciph = obj.encrypt(plain)

obj = AES.new('0123456789abcdef', AES.MODE_CBC,IV="fedcba9876543210")

decrypted = obj.decrypt(ciph)

result = ""

for char in ciph:

result += str((hex(ord(char))))[2:]

print result

print decrypted

其结果是:

^{pr2}$

这正是我所期望的,并且与Java输出相匹配,但是当我插入两行代码中的第一行以在Python代码中解密时,输出完全关闭并显示随机字符。我认为这是由于结尾的for循环使其与Java输出相同。有没有办法撤销for循环?同样使用至少与此类似的代码,是否有一种合适的方法来解密两个输出字符串中的第一个(在Python中)?在

感谢大家的回复,提前谢谢!在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值