保存方式以覆盖堆上的敏感数据

时间:2017-10-23 00:04:00

标签: c++ security passwords password-protection

假设我们有一个密码,保存为char数组<IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP_HOST} =example.com RewriteRule (.*) http://www.example.com/$1 [R=301,L] RewriteCond %{SERVER_PORT} 80 RewriteCond %{REQUEST_URI} wp-admin RewriteRule ^(.*)$ https://www.example.com/wp-admin/ [R,L] </IfModule> # BEGIN rlrssslReallySimpleSSL rsssl_version[2.5.21] <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{HTTP:X-Forwarded-Proto} !https RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L] </IfModule> # END rlrssslReallySimpleSSL # BEGIN WordPress <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteRule ^index\.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . /index.php [L] </IfModule> # END WordPress 。我们要求用户输入密码,然后以某种方式使用它(例如连接到数据库)。是否有一些保存方法可以绝对确保密码在使用后从内存中删除?

我的第一个想法是我们可以迭代数组并将每个值设置为0或一些随机数。但是,优化器可以优化它,将我们未更改的密码保留在内存中,直到系统上的某些内容覆盖它,这可能需要相当长的时间。

然后我考虑使用volatile,但这可能会减慢程序的速度。

我们可以用汇编程序来做,但这会破坏可移植性。

有更好的方法吗?

0 个答案:

没有答案