通过创建随机密钥和值对数据进行加密和解密



在代码点火器中,

无论何时对用户进行身份验证,我都希望创建一个随机会话。此机制将用于加密/解密视图控制器之间的数据。例如,我希望打开以下表单:

<?php echo form_open('targetcontrollerfunction/'.encryptionfunction(data_to_be_secured)); ?>

因此,如果有人去检查元素,他们就无法理解传递给控制器的数据。

我尝试过的:

我已经阅读了Codeigniter文档以及关于stackoverflow和谷歌的几篇文章。他们建议使用encryption库生成随机密钥,使用encrypt库使用该密钥对数据进行编码/解码。但挑战在于,他们希望我将新生成的密钥存储在$config["encryption_key"]

问题开始了。在我的控制器功能中,我正在验证用户帐户并设置一些会话变量。同时,我希望生成随机密钥,这样密钥对每个用户来说都是100%唯一的,但当我在控制器功能中使用以下代码时:

$randomkey=bin2hex($this->encryption->create_key(16));
$config["encryption_key"]=$randomkey;
$this->session->set_userdata('somekey', $this->encrypt->encode("somevalue"));

我还把它改成:

$randomkey=bin2hex($this->encryption->create_key(16));
$config=array(
'encryption_key'=>$randomkey
);
$this->encryption->initialize($config);
$this->session->set_userdata('somekey', $this->encrypt->encode("somevalue"));

我得到一个错误:

要使用加密类,需要设置配置文件中的加密密钥。

库无法加载到config.php文件中,encryption_key无法在控制器中设置,我完全困惑了。生成随机密钥并将其用于每个登录会话的方法还有什么?

如果您使用的是CI 3,请转到文件夹/application/config,编辑config.php,然后输入加密密钥(32个字符(

搜索以下行:$config['encryption_key']='yourkeyhere';

相关内容

  • 没有找到相关文章

最新更新