假设我们有一个密码,保存为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,但这可能会减慢程序的速度。
我们可以用汇编程序来做,但这会破坏可移植性。
有更好的方法吗?