我有一个Django项目,我正在使用django加密字段。
我喜欢做的只是在他的项目中使用加密。我通过设置ENCRYPTED_FIELD_MODE ='ENCRYPT'
来做到这一点这样就不可能解密加密值。
第2步是解密来自另一个项目的值。此时我被困住了。
我想使用私钥解密来自其他服务器的加密值。谁能解释我怎么做到这一点?
我在整个加密领域都是新手,特别是使用公钥和私钥。
我知道有私钥和公钥。如何将私钥保存在另一台服务器上并使用它来解密加密值?
Greetz,Nelson Varela。
答案 0 :(得分:3)
我通过创建公钥和私钥来解决我的问题:
$ 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
在生产中部署项目时,应复制“public”文件夹并使用以下设置:
ENCRYPTED_FIELDS_KEYDIR = '/path/to/public'
ENCRYPTED_FIELD_MODE = 'ENCRYPT'
如果要解密和加密,请使用以下命令:
ENCRYPTED_FIELDS_KEYDIR = '/path/to/private'
ENCRYPTED_FIELD_MODE = 'DECRYPT_AND_ENCRYPT'