首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >md5加密解密

md5加密解密
EN

Stack Overflow用户
提问于 2012-08-06 17:10:09
回答 5查看 13.3K关注 0票数 1

我的数据库表中有一个名为download_key的字段。它通常保存在表中,不进行加密。我在表单中将此密钥作为隐藏值发送。如果有人在页面上单击鼠标右键并查看页面的源代码,则该键是可见的。是否可以仅在视图中对其加密?我还将密钥的隐藏值与数据库中存储的值进行了比较。

一些代码

控制器

代码语言:javascript
复制
$query = $this->db->get_where('mc_boxes', array('idmc_boxes' => $id));
$row = $query->row();
$data['download_key'] = strtolower($row->downloadkey);

在我的视野里

代码语言:javascript
复制
<form name="form" method="post" onsubmit="return validateForm('<?php echo $download_key ?>')"> 
    <input type="hidden" name="key" value="<?php echo $download_key ?>" />
</form>
EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-08-06 17:37:01

有可用的加密/解密功能-请查看http://codeigniter.com/user_guide/libraries/encryption.html

代码语言:javascript
复制
$msg = 'My secret message';
$key = 'super-secret-key';

$encrypted_string = $this->encrypt->encode($msg, $key);

$encrypted_string = 'APANtByIGI1BpVXZTJgcsAG8GZl8pdwwa84';

$plaintext_string = $this->encrypt->decode($encrypted_string);

看看这对你的情况是否有帮助。:)

票数 2
EN

Stack Overflow用户

发布于 2012-08-06 17:14:42

为什么不使用会话呢?

代码语言:javascript
复制
$_SESSION['DL_KEY'] = strtolower($row->downloadkey);

并且没有必要在表单中呼应它

票数 2
EN

Stack Overflow用户

发布于 2012-08-06 17:15:59

尝试使用带密钥的可逆加密(这将只在您的配置中,对其他任何人隐藏)。

代码语言:javascript
复制
$key = 'YOUR_UNIQUE_KEY_HERE';
$phrase = 'PHRASE_TO_DECODE_OR_ENCODE';
if ($method == 'encode')
    return base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_256, $key, $phrase, MCRYPT_MODE_ECB, mcrypt_create_iv(32, MCRYPT_RAND)));
else if ($method == 'decode')
    return trim(mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, base64_decode($phrase), MCRYPT_MODE_ECB, mcrypt_create_iv(32, MCRYPT_RAND)));
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11825362

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档