2014-07-17 121 views
1

我生成了一个公钥和私钥用于加密目的。有一个密码连接到私钥,但我知道我不应该用这种纯文本显示它。解密数据时保护我的RSA私钥密码

我该怎么做才能保护这个密码,所以不会以纯文本显示?

// $data = encrypted data using RSA public key 
// $key = the key that came along with the encrypted data 

// find private key 
$pkeyid = openssl_get_privatekey("file:///path/to/private.pem", "PASSWORD"); 

// try and decrypt the data using private key 
openssl_open($data, $decrypted_data, $key, $pkeyid); 

// if all went well, show decrypted data 
echo $decrypted_data; 

回答

0

有多种方法可以做到这一点,你需要去多大程度保护你的密码?

为什么不把它保存在一个安全的文件中,并在需要时读取它?

下面列出了您可以通过的级别以确保主密钥的最大保护。每一步都会为上一步添加更多保护。

  1. 在库中的masterkey的隔离一个安全的服务器上
  2. 访问包含masterkey
  3. 加密信息库中的masterkey的服务器的限制。 (见Red Key/Black Key)的masterkey的
  4. 随机性和频繁更换
+0

感谢您的评论厄贝沙坦。通过主密钥你是指密码来获得私钥? – bryan

+0

是的,指的是密码。 –