我想使用RSA算法對字符串進行加密,然後使用python中的SQLAlchemy將該字符串存儲到postgres數據庫中。然後檢索加密的字符串並使用相同的密鑰對其進行解密。我的問題是,存儲在數據庫中的值與實際的加密字符串不同。存儲加密值的列的數據類型是bytea。我正在使用pycrypto庫。在將數據插入數據庫表之前,是否需要以特定格式更改數據?在Postgres中通過SQLALchemy插入加密數據
請提出任何建議。
感謝, 塔拉·辛格
我想使用RSA算法對字符串進行加密,然後使用python中的SQLAlchemy將該字符串存儲到postgres數據庫中。然後檢索加密的字符串並使用相同的密鑰對其進行解密。我的問題是,存儲在數據庫中的值與實際的加密字符串不同。存儲加密值的列的數據類型是bytea。我正在使用pycrypto庫。在將數據插入數據庫表之前,是否需要以特定格式更改數據?在Postgres中通過SQLALchemy插入加密數據
請提出任何建議。
感謝, 塔拉·辛格
通過「同一個密鑰」你的意思是「另一個關鍵」,對不對? RSA爲您提供了一個密鑰對,如果您使用另一個密鑰進行加密,您就可以使用這個密鑰對...
除此之外,它聽起來像是一個編碼問題。嘗試將數據存儲爲二進制數據或使用數據庫歸類對字符串進行編碼。
基本上加密給你字節但你將它們存儲爲字符串(編碼字節)。
我認爲SQLAlchemy文檔包含使用'hybrid'屬性的'recipe'示例。我不自稱完全理解或嘗試過,但你會發現它有用:
http://www.sqlalchemy.org/trac/wiki/UsageRecipes/SymmetricEncryption
是,使用公鑰加密和用私鑰解密。 – 2010-08-17 22:48:48
你會給如何在postgresql中存儲數據片段...問候 – eros 2011-10-27 09:30:23
我會存儲爲bytea。請注意,bytea可能需要在檢索時未轉義。 – 2012-10-03 00:58:27