如何在没有mcrypt的情况下在PHP中解密

如何在没有mcrypt的情况下在PHP中解密,php,encryption,mcrypt,Php,Encryption,Mcrypt,我已经使用mcrypt实现了下一个解密字符串的函数: function decrypt($encrypted){ $key = "I5G9VjmnDQ483iDwE9278ST01Rp12Mr7"; $iv = "W3gtod2XaqHRgdo57968xys2738tl2S6"; $iv_utf = mb_convert_encoding($iv, 'UTF-8'); $decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_

我已经使用mcrypt实现了下一个解密字符串的函数:

function decrypt($encrypted){

    $key = "I5G9VjmnDQ483iDwE9278ST01Rp12Mr7";
    $iv = "W3gtod2XaqHRgdo57968xys2738tl2S6";

    $iv_utf = mb_convert_encoding($iv, 'UTF-8');

    $decrypted = mcrypt_decrypt(MCRYPT_RIJNDAEL_256, $key, base64_decode($encrypted), MCRYPT_MODE_CBC, $iv_utf);

    return $decrypted;

}
如果不使用
mcrypt
,是否有其他替代方法。我不想再依赖这个扩展了

我在Github上找到了很好的库,但它需要PHPV5.3或更高版本。我需要一些与PHPV5.2.4或更高版本兼容的东西

MCRYPT\u RIJNDAEL\u 256

抱歉,没有sane库支持Rijndael256。但是,它们支持标准AES。(如果有人正在阅读本文,而您希望在2015年实现安全可靠的加密,

如果不使用
mcrypt
,是否有其他替代方法。我不想再依赖这个扩展了

不是Rijndael256。我强烈推荐,它使用PHP的OpenSSL扩展提供的行业标准AES实现经过身份验证的加密

我在Github上找到了很好的库

对于“好”的给定定义

  • 这个库附带了Rijndael的纯PHP实现。编写自己的密码实现从来都不是一个好主意,尤其是在PHP这样的语言中
  • 代码还自由地使用了
    substr()
    strlen()
    ,没有对
    mbstring.func\u重载进行任何健全检查
  • 它无法提供,这是你在99.9%的情况下想要的
但它需要PHPV5.3或更高版本。我需要一些与PHPV5.2.4或更高版本兼容的东西

请阅读并升级至5.6。5.2、5.3和5.4分支不再接收安全更新,因此您将面临比不安全加密更大的问题

MCRYPT\u RIJNDAEL\u 256

抱歉,没有sane库支持Rijndael256。但是,它们支持标准AES。(如果有人正在阅读本文,而您希望在2015年实现安全可靠的加密,

如果不使用
mcrypt
,是否有其他替代方法。我不想再依赖这个扩展了

不是Rijndael256。我强烈推荐,它使用PHP的OpenSSL扩展提供的行业标准AES实现经过身份验证的加密

我在Github上找到了很好的库

对于“好”的给定定义

  • 这个库附带了Rijndael的纯PHP实现。编写自己的密码实现从来都不是一个好主意,尤其是在PHP这样的语言中
  • 代码还自由地使用了
    substr()
    strlen()
    ,没有对
    mbstring.func\u重载进行任何健全检查
  • 它无法提供,这是你在99.9%的情况下想要的
但它需要PHPV5.3或更高版本。我需要一些与PHPV5.2.4或更高版本兼容的东西

请阅读并升级至5.6。5.2、5.3和5.4分支不再接收安全更新,因此您将面临比不安全加密更大的问题