我想使用 RSA 算法加密一个字符串,然后使用 Python 中的 SQLAlchemy 将该字符串存储到 postgres 数据库中。然后检索加密字符串并使用相同的密钥对其进行解密。我的问题是存储在数据库中的值与实际的加密字符串不同。存储加密值的列的数据类型是 bytea。我正在使用 pycrypto 库。在将数据插入数据库表之前,是否需要以特定格式更改数据?
请有任何建议。
谢谢,塔拉辛格
我想使用 RSA 算法加密一个字符串,然后使用 Python 中的 SQLAlchemy 将该字符串存储到 postgres 数据库中。然后检索加密字符串并使用相同的密钥对其进行解密。我的问题是存储在数据库中的值与实际的加密字符串不同。存储加密值的列的数据类型是 bytea。我正在使用 pycrypto 库。在将数据插入数据库表之前,是否需要以特定格式更改数据?
请有任何建议。
谢谢,塔拉辛格
“同一把钥匙”是指“另一把钥匙”,对吧?RSA给你一个密钥对,如果你用一个加密,你用另一个解密......
除此之外,这听起来像是一个编码问题。尝试将数据存储为二进制或使用数据库排序规则对字符串进行编码。
基本上加密为您提供字节,但您将它们存储为字符串(编码字节)。
I think the SQLAlchemy documents contain a 'recipe' example which uses the 'hybrid' property. I do not profess to understand it fully or tried it yet, but you may find it useful:
http://www.sqlalchemy.org/trac/wiki/UsageRecipes/SymmetricEncryption