PHP 中用于加密/解密的 Mcrypt 的替代品?

发布于 2024-11-02 18:23:30 字数 133 浏览 4 评论 0原文

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

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

I'm giving some code for a Drupal module that needs to do encryption and decryption. I dont think I can assume that the Mcrypt module is installed on the Drupal system. What can i use as an alternative encryption mechanism?

This isnt for financial stuff, so i dont need sophisticated cryptology, but better is beter...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

对你的占有欲 2024-11-09 18:23:31

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

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

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

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

How about using your database? MySQL has AES and DES encryption and decryption functions. You could then use a "fake" query to get your string:

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

(MySQL returns an empty set if you don't have at least one field from the table.)

Decryption works the same way. It's 128-bit AES, which is not too bad, cryptographically, and if you can't even be sure about MCrypt, I doubt you will be recompiling MySQL to get 256-bit AES.

蓬勃野心 2024-11-09 18:23:31

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

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

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

There are several methods of encrypting PHP codes, using a key to encrypt/decrypt codes makes it more secure as an alternate to MCrypt.

One way is creating a function that may require a key to complete an encryption or decryption.
PHP has its built-in functions like gzdeflate() or gzinflate(), another is using base64_encode()/base64_decode() and str_rot13() functions.

But I don't think using PHP Encoder would work.

[旋木] 2024-11-09 18:23:31

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

The Encryption module module includes a basic encryption method by default, which it describes as "A simple mathematical encryption method that does not require any PHP extensions."

酒几许 2024-11-09 18:23:31

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

如果您想要更严格的函数,您还可以尝试使用 hash()md5() 函数来创建密钥,并在带有返回值的加密函数中要求它gzdeflate()/gzinflate() 的功能如下 莱昂的建议。

based on Leon's answer, PHP Encoder is using MCrypt module that may not work on Drupal. Another way is is to use IonCube Encoder.

If you want a more strict function, you may also try to use hash() and md5() function to create your key and require it on you encrypting function with the returns of gzdeflate()/gzinflate() functions as what Leon's suggestion.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文