에 :다시 MCRYPT_RIJNDAEL_128는 Node.js를 Node.js를에서 다음과 PHP를 암호화 코드를 다시 시도
$size = mcrypt_get_iv_size(MCRYPT_RIJNDAEL_128, MCRYPT_MODE_ECB);
$iv = mcrypt_create_iv($size, MCRYPT_RAND);
$msg = base64_encode(mcrypt_encrypt(MCRYPT_RIJNDAEL_128, 'MY_KEY_LONG_STRING', 'PLAINTEXT', MCRYPT_MODE_ECB, $iv));
이 시도 :
var text = 'PLAINTEXT';
var len = text.length;
for (var i = 0; i < 16 - len % 16; i++) { // pad to multiple of block size
text += '\0';
}
var key = 'MY_KEY_LONG_STRING';
key = key.substr(0, 16); // trim to expected key size for aes128
var cipher = crypto.createCipher('aes-128-ecb', key);
cipher.setAutoPadding(false); // did our own padding, to match mcrypt_encrypt
var encrypted = cipher.update(text, 'utf8', 'base64');
encrypted += cipher.final('base64');
는 PHP 하나에서 다른 결과를 얻기 ...
또한 IV (aes-128-ecb에서 사용하지 않아야 함)를 사용하여 암호 생성을 시도했습니다.
var cipher = crypto.createCipheriv('aes-128-ecb', key, '');
또한 php와 다른 결과입니다. 모든 아이디어가 어떻게 PHP 버전과 똑같이 동작하게 만드나요?
는 ECB 그래서 PHP 코드가 응축 될 수 있으며, 정맥 주사를 사용할 수 없습니다 :'$ msg = base64_encode (mcrypt_encrypt (MCRYPT_RIJNDAEL_128, 'MY_KEY_LONG_ST –