3

我正在为需要进行加密和解密的 Drupal 模块提供一些代码。我不认为我可以假设 Mcrypt 模块安装在 Drupal 系统上。我可以使用什么作为替代加密机制?

这不是金融的东西,所以我不需要复杂的密码学,但更好就是更好......

4

4 回答 4

6

使用你的数据库怎么样?MySQL 具有 AES 和 DES 加密和解密功能。然后,您可以使用“假”查询来获取您的字符串:

select id, aes_encrypt('My secret text', 'the key string') 
from permissions 
limit 1

(如果表中没有至少一个字段,MySQL 将返回一个空集。)

解密的工作方式相同。它是 128 位 AES,在密码学上还不错,如果你甚至不能确定 MCrypt,我怀疑你会重新编译 MySQL 以获得 256 位 AES。

于 2011-04-21T14:47:49.177 回答
3

有几种加密 PHP 代码的方法,使用密钥加密/解密代码使其作为 MCrypt 的替代方案更加安全。

一种方法是创建一个可能需要密钥来完成加密或解密的函数。PHP 有它的内置函数,比如gzdeflate()or gzinflate(),另一个是使用base64_encode()/base64_decode()str_rot13()函数。

但我不认为使用PHP Encoder会起作用。

于 2012-10-10T07:55:21.637 回答
1

Encryption 模块默认包含一个基本的加密方法,它被描述为“一种不需要任何 PHP 扩展的简单数学加密方法”。

于 2011-04-21T04:27:04.020 回答
1

根据 Leon 的回答,PHP 编码器正在使用可能不适用于 Drupal 的 MCrypt 模块。另一种方法是使用 IonCube Encoder。

如果你想要一个更严格的函数,你也可以尝试使用hash()andmd5()函数来创建你的密钥,并要求你使用gzdeflate()/函数的返回加密gzinflate()函数作为Leon的建议。

于 2012-10-10T08:03:24.553 回答