python aes加密对象_Python中的AES加密与i不同

我试图在IOS中加密一个字符串,然后将其发送到TCP服务器。代码的Python版本和iOS版本如下所示。请参阅两个版本的输出。它们看起来很相似,但长度不同,我不知道原因。有人能查一下吗,原因是什么?在

请注意,Python脚本中的填充应该被丢弃,因为我已经给出了文本长度16。在

PYTHON代码:#!/usr/bin/env python

from Crypto.Cipher import AES

import base64

import os

# the block size for the cipher object; must be 16, 24, or 32 for AES

BLOCK_SIZE = 16

PADDING = '{'

# one-liner to sufficiently pad the text to be encrypted

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

# one-liners to encrypt/encode and decrypt/decode a string

# encrypt with AES, encode with base64

EncodeAES = lambda c, s: base64.b64encode(c.encrypt(pad(s)))

DecodeAES = lambda c, e: c.decrypt(base64.b64decode(e)).rstrip(PADDING)

secret = "1234567890123456"

# create a cipher object using the random secret

cipher = AES.new(secret)

encoded = EncodeAES(cipher, 'password12345678')

print 'Encrypted string:', encoded

decoded = DecodeAES(cipher, encoded)

print 'Decrypted string:', decoded

输出:

加密字符串:57aaywf4jkyx7kzgkwudibzusn1luc04c5yf3xei8=

解密字符串:密码12345678

^{pr2}$

输出:

AES数据:密码12345678

57AayWF4jKYx7KzGkwudIKNlwA+herrmiyz0szzds=

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值