2010-08-17 83 views
1

我想使用RSA算法對字符串進行加密,然後使用python中的SQLAlchemy將該字符串存儲到postgres數據庫中。然後檢索加密的字符串並使用相同的密鑰對其進行解密。我的問題是,存儲在數據庫中的值與實際的加密字符串不同。存儲加密值的列的數據類型是bytea。我正在使用pycrypto庫。在將數據插入數據庫表之前,是否需要以特定格式更改數據?在Postgres中通過SQLALchemy插入加密數據

請提出任何建議。

感謝, 塔拉·辛格

回答

1

通過「同一個密鑰」你的意思是「另一個關鍵」,對不對? RSA爲您提供了一個密鑰對,如果您使用另一個密鑰進行加密,您就可以使用這個密鑰對...

除此之外,它聽起來像是一個編碼問題。嘗試將數據存儲爲二進制數據或使用數據庫歸類對字符串進行編碼。

基本上加密給你字節但你將它們存儲爲字符串(編碼字節)。

+0

是,使用公鑰加密和用私鑰解密。 – 2010-08-17 22:48:48

+0

你會給如何在postgresql中存儲數據片段...問候 – eros 2011-10-27 09:30:23

+0

我會存儲爲bytea。請注意,bytea可能需要在檢索時未轉義。 – 2012-10-03 00:58:27