私はLaravelの暗号化モジュールと互換性のあるハッシュを作成しようとしています。ここで はLaravelのリファレンス・ソースコードである:ここでhttps://github.com/illuminate/encryption/blob/master/Encrypter.php#L101-163Compatibilty AES-256-CBCノード/ Laravel
は、私が通ってくるきたものである。残念ながら
const encrypt = function (payload) {
const iv = crypto.randomBytes(16);
const key = new Buffer(config.stuff.key, 'base64');
const cipher = crypto.createCipheriv('aes-256-cbc', key, iv);
cipher.setAutoPadding(false); // With or without this /!\
let value = cipher.update(serialize(JSON.stringify(payload)), 'utf8', 'base64');
value + cipher.final('base64');
const mac = crypto.createHmac('sha256', new Buffer(config.stuff.key, 'base64')).update(iv.toString('base64') + value).digest('hex');
const json = JSON.stringify({ iv: iv.toString('base64'), value, mac });
return base64_encode(json);
};
私はそれをしようとするとき、私はBAD_DECRYPTを持っています。これはOpenSSLのパディングから来ているようです。誰にもアイデアはありますか?
注:私はBASE64_ENCODEを持っていると私は、私はPHPの機能をシリアル化し、他のしていることに注意するのを忘れphpjsや他のもの – Extaze