【问题标题】:AES -192 encryption/decryption using php?使用 php 的 AES -192 加密/解密?
【发布时间】:2011-04-05 10:14:49
【问题描述】:

我已经使用http://www.phpclasses.org/package/3650-PHP-A-pure-PHP-AES-128-encryption-implementation.html 提供的 AES128 脚本在 php 中完成了 AES128 加密/解密 或http://www.phpclasses.org/browse/file/17721.html 现在我有一个 24 个字符的密钥,并且数据(已经存储在数据库中)使用 24 个字符的密钥进行加密。所以我应该解密这些数据。

我认为它是 AES-192(如果我错了,请纠正我)因为它的 24 个字符的密钥。 是否可以修改 phpclasses 中可用的 AES128.php 代码(上面的链接),以便它可以用于解密 AES192 加密数据。 请帮忙..

【问题讨论】:

    标签: php aes


    【解决方案1】:

    如果您对密码学知之甚少,我不会尝试自己修改代码。出错的可能性非常高。

    如果您可以随意更改您使用的 AES 实现,为什么不使用 PHP 提供的 mcypt 模块 (http://php.net/manual/en/ref.mcrypt.php)?它支持 AES-128、-192、-256 位(名称为 MCRYPT_RIJNDAEL_xxx)等等。另外,作为免费奖励,您可以找到大量代码示例。

    这是一个例子:http://www.php.net/manual/en/function.mcrypt-encrypt.php#78531

    【讨论】:

    • 我的系统中没有托管php服务器,我无法下载mycrypt所需的库文件
    • 嗯,好吧,我找不到太多基于非 lib 的解决方案,来自这个(非免费)库:phpaes.com
    • 您可能必须先加载它,一切都在我提供的链接中。例如。安装等在这里:php.net/manual/en/mcrypt.setup.php.
    • -1 RIJNDAEL_192 与 AES-192 相同。 RIJNDAEL 后面的数字指定块大小,而 AES 后面的数字指定密钥大小。 AES 始终使用 128 位块大小。使用 192 位密钥的 RIJNDAEL_128 是 AES-192。如果你解决了你的答案,我会转换反对票。
    【解决方案2】:

    使用 mycrypt 和 RIJNDAEL-192 密码,与 AES 相同。

    http://fr2.php.net/manual/fr/mcrypt.ciphers.php

    【讨论】:

    • 如果给出 mycrypt 或 RIJNDAEL-192 的示例代码会很有帮助。我使用 php 版本 5.2.8
    • -1 RIJNDAEL_192 与 AES-192 相同。 RIJNDAEL 后面的数字指定块大小,而 AES 后面的数字指定密钥大小。 AES 始终使用 128 位块大小。使用 192 位密钥的 RIJNDAEL_128 是 AES-192。
    • 谢谢 Leigh,我解决了我的问题,我在这里发布了 stackoverflow.com/questions/18124403/…
    猜你喜欢
    • 2013-08-12
    • 2013-08-11
    • 1970-01-01
    • 2016-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-31
    相关资源
    最近更新 更多