JS 解密函数转换为 PHP 代码

以下是一个 JavaScript 解密函数的示例代码,使用 AES-128-CBC 加密算法:

'uic':function(d){
    let ut = NotGm.enc.Utf8.parse('2890'+ConFig['config']['uid']+'tB959C'),
        mm = NotGm.enc.Utf8.parse('2F131BE91247866E'),
        decrypted = NotGm.BBS.decrypt(d, ut, {iv: mm, mode: NotGm.mode.CBC, padding: NotGm.pad.Pkcs7});
    return NotGm.enc.Utf8.stringify(decrypted);
}
ConFig['config']['uid']='k9nGK6'

将此 JavaScript 解密函数转换为 PHP 代码,实现相同的功能:

function uic($d){
    $ut = hex2bin('2890'.ConFig['config']['uid'].'tB959C');
    $mm = hex2bin('2F131BE91247866E');
    $decrypted = openssl_decrypt($d, 'AES-128-CBC', $ut, OPENSSL_RAW_DATA | OPENSSL_ZERO_PADDING, $mm);
    return $decrypted;
}

说明:

  • JavaScript 代码中使用了 NotGm 库,在 PHP 代码中使用 openssl_decrypt 函数实现相同的功能。
  • hex2bin 函数将十六进制字符串转换为二进制字符串。
  • openssl_decrypt 函数使用 AES-128-CBC 加密算法解密数据,并使用 OPENSSL_RAW_DATAOPENSSL_ZERO_PADDING 选项进行处理。
  • 确保 PHP 环境中已安装 OpenSSL 库。

使用方法:

  1. 将 PHP 代码复制到您的项目中。
  2. ConFig['config']['uid'] 替换为您的实际 UID 值。
  3. 调用 uic() 函数进行解密。

示例:

$encryptedData = '...' // 您的加密数据
$decryptedData = uic($encryptedData);

注意:

  • 此代码仅供参考,请根据您的实际情况进行修改和完善。
  • 确保使用安全的加密密钥和 IV 值,以保护您的数据安全。

原文地址: https://www.cveoy.top/t/topic/piU 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录