我正在与第三方python library合作,它基本上允许某些加密操作。它正在按预期工作,因为我使用控制台测试方法(请参阅下面的代码)并正确返回值。
操作系统是Ubuntu 16.04 LTS
test@2c215fcff3bf:/# python3
Python 3.5.2
[GCC 5.4.0 20160609] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>from phe import paillier
>>>public_key, private_key = paillier.generate_paillier_keypair()
>>>secret_number_list = [3.141592653, 300, -4.6e-12]
>>>encrypted_number_list = [public_key.encrypt(x) for x in secret_number_list]
>>>encrypted_number_list[0]
<phe.paillier.EncryptedNumber object at 0x7ff56b695630>
现在,当我尝试使用相同的代码但使用Flask将其包装在RESTful API中时。它给了我错误&#34; TypeError:&#39; EncryptedNumber&#39;对象不可调用&#34;。我一定做错了什么但不明白是什么。
Sample.py
from phe import paillier
from flask import request, url_for
from flask_api import FlaskAPI, status, exceptions
app = FlaskAPI(__name__)
@app.route("/", methods=['GET', 'POST'])
def encrypt():
public_key, private_key = paillier.generate_paillier_keypair()
secret_number_list = [3.141592653, 300, -4.6e-12]
encrypted_number_list = [public_key.encrypt(x) for x in secret_number_list]
if encrypted_number_list[0] is not None:
return "OK"
return "FAIL"