我有一个Django项目,我使用的是Django加密字段。
我喜欢做的只是在他的项目中使用加密。我通过设置ENCRYPTED_FIELD_MODE="ENCRYPT"来做到这一点
这样就不可能解密加密的值。
步骤2是解密来自另一个项目的值。在这一点上,我陷入了困境。
我想使用私钥解密来自另一台服务器的加密值。有人能解释一下我是怎么做到的吗?
我对整个加密世界有点陌生,尤其是使用公钥和私钥。
我知道有私钥和公钥。如何在另一台服务器上保存私钥并使用它解密加密值?
格里茨,纳尔逊·瓦雷拉。
我通过创建公钥和私钥解决了我的问题,如下所示:
$ mkdir private
$ mkdir public
$ keyczart create --location=private --name="my project" --purpose=crypt --asymmetric=rsa
$ keyczart addkey --location=private --status=primary --size=256
$ keyczart pubkey --location=private --destination=public
在生产中部署项目时,应复制"公用"文件夹并使用以下设置:
ENCRYPTED_FIELDS_KEYDIR = '/path/to/public'
ENCRYPTED_FIELD_MODE = 'ENCRYPT'
如果您想解密和加密,请使用以下方法:
ENCRYPTED_FIELDS_KEYDIR = '/path/to/private'
ENCRYPTED_FIELD_MODE = 'DECRYPT_AND_ENCRYPT'