PHP 中用于加密/解密的 Mcrypt 的替代品?
我正在为需要进行加密和解密的 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用你的数据库怎么样? MySQL具有AES和DES加密解密功能。然后,您可以使用“假”查询来获取字符串:(
如果表中至少没有一个字段,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:
(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.
加密 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()
orgzinflate()
, another is usingbase64_encode()
/base64_decode()
andstr_rot13()
functions.But I don't think using PHP Encoder would work.
加密模块模块默认包含一个基本的加密方法,它描述为“一种简单的数学加密方法,不需要任何 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."
根据 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()
andmd5()
function to create your key and require it on you encrypting function with the returns ofgzdeflate()
/gzinflate()
functions as what Leon's suggestion.