为了账号安全,请及时绑定邮箱和手机立即绑定

如何将此加密函数从 PHP 转换为 Javascript

如何将此加密函数从 PHP 转换为 Javascript

PHP
回首忆惘然 2021-09-05 20:15:11
我正在将 Web 应用程序从 PHP 迁移到基于 JS 的框架。该应用程序使用mcrypt_encryptbase64 进行加密。我尝试mcrypt在 Javascript 中使用该模块,但没有得到相同的结果。原来的 PHP 函数是这样的function safe_b64encode($string) {    $data = base64_encode($string);    $data = str_replace(array('+', '/', '='), array('-', '_', ''), $data);    return $data;}function encrypt($value) {    $text = $value;    $iv_size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_256, MCRYPT_MODE_ECB);    $iv = mcrypt_create_iv($iv_size, MCRYPT_RAND);    $crypttext = mcrypt_encrypt(MCRYPT_RIJNDAEL_256, ENCRYPTION_KEY, $text, MCRYPT_MODE_ECB, $iv);    return trim(safe_b64encode($crypttext));}我的 JS 版本是这样的const MCrypt = require('mcrypt').MCryptconst rijndael128Ecb = new MCrypt('rijndael-128', 'ecb')const iv = rijndael128Ecb.generateIv()rijndael128Ecb.validateKeySize(false)rijndael128Ecb.open(ENCRYPTION_KEY, iv)let cipherText = rijndael128Ecb.encrypt('sometext')cipherText = Buffer.concat([iv, cipherText]).toString('base64')cipherText = cipherText.replace('+','-').replace('/','_').replace('=','')
查看完整描述

1 回答

  • 1 回答
  • 0 关注
  • 156 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信