python中的Rijndael加密

python中的Rijndael加密,python,encryption,aes,rijndael,Python,Encryption,Aes,Rijndael,我想在python中使用Rijndael加密,密钥和块大小为256bit,填充应为PKCS7。或者使用utf-8编码。 我搜索了很多,最后写了这段代码,我不知道这是一个好方法,但这就是我所知道的。运行代码时,我遇到以下错误: Traceback (most recent call last): File "testForRijndael.py", line 1, in <module> from rijndael.cipher import crypt File "/opt/od

我想在python中使用Rijndael加密,密钥和块大小为256bit,填充应为PKCS7。或者使用utf-8编码。 我搜索了很多,最后写了这段代码,我不知道这是一个好方法,但这就是我所知道的。运行代码时,我遇到以下错误:

Traceback (most recent call last):
File "testForRijndael.py", line 1, in <module>
  from rijndael.cipher import crypt
File "/opt/odoo/odoo11-venv/lib/python3.6/site- 
  packages/rijndael/cipher/crypt.py", line 1, in <module>
  from rijndael.cipher.blockcipher import *
File "/opt/odoo/odoo11-venv/lib/python3.6/site- 
  packages/rijndael/cipher/blockcipher.py", line 64
    raise Exception,"the IV length should be %i bytes"%self.blocksize
               ^
SyntaxError: invalid syntax

您从中导入的
rijndael
库是为Python2编写的,但您使用Python3运行它。请参见下文,了解在Python2(而不是Python3)中使用的语法

$ cat raise.py
  raise Exception,"text"
$ python2 raise.py
Traceback (most recent call last):
  File "raise.py", line 1, in <module>
    raise Exception,"text"
Exception: text
$ python3 raise.py
  File "raise.py", line 1
    raise Exception,"text"
                   ^
SyntaxError: invalid syntax
$cat raise.py
引发异常,“文本”
$python2.py
回溯(最近一次呼叫最后一次):
文件“raise.py”,第1行,在
引发异常,“文本”
例外:文本
$python3.py
文件“raise.py”,第1行
引发异常,“文本”
^
SyntaxError:无效语法
您可以尝试自己迁移它,使用
2to3
工具,查看是否有人编写了端口,或者使用python 2编写并执行您的程序

尝试
pip2安装rijndael
,然后
python2测试rijndael.py


要在本地代码上运行
2to3
(虽然不是很推荐,但它可能会工作),请运行
2to3-w/opt/odoo/odoo11-venv/lib/python3.6/site packages/rijndael/**.py

我必须用python3运行我的代码,有python3的rijndael库吗?我用谷歌搜索了一下,但什么也没找到,似乎python3没有lib:(
$ cat raise.py
  raise Exception,"text"
$ python2 raise.py
Traceback (most recent call last):
  File "raise.py", line 1, in <module>
    raise Exception,"text"
Exception: text
$ python3 raise.py
  File "raise.py", line 1
    raise Exception,"text"
                   ^
SyntaxError: invalid syntax