node.js - php与nodejs的加密数据互通
程序员文章站
2024-01-04 13:25:16
...
nodejs的加密解密代码示例如下:
#!/usr/bin/env node var crypto = require('crypto'); //解密 function decode(cryptkey, iv, secretdata) { var decipher = crypto.createDecipheriv('aes-256-cbc', cryptkey, iv), decoded = decipher.update(secretdata, 'base64', 'utf8'); decoded += decipher.final( 'utf8' ); return decoded; } //解密 function encode(cryptkey, iv, cleardata) { var encipher = crypto.createCipheriv('aes-256-cbc', cryptkey, iv), encoded = encipher.update(cleardata, 'utf8', 'base64'); encoded += encipher.final( 'base64' ); return encoded; } var cryptkey = crypto.createHash('sha256').update('__tazai_wolf__key').digest(), iv = '1234567890000000', buf = "Hello World", enc = encode( cryptkey, iv, buf ); var dec = decode(cryptkey, iv, enc); function b64enc(data) { var b = new Buffer(data, 'binary'); return b.toString('base64'); } console.warn("Encoded length: ", enc); console.warn("Decoded all: " + dec);
请问php能相应的加密解密代码应该如何写?
要求能解上面加密后的如:Gpkr1WGBFhMvNd/Hr0eaBg==
也能加密数据给nodejs进行解密。
回复内容:
nodejs的加密解密代码示例如下:
#!/usr/bin/env node var crypto = require('crypto'); //解密 function decode(cryptkey, iv, secretdata) { var decipher = crypto.createDecipheriv('aes-256-cbc', cryptkey, iv), decoded = decipher.update(secretdata, 'base64', 'utf8'); decoded += decipher.final( 'utf8' ); return decoded; } //解密 function encode(cryptkey, iv, cleardata) { var encipher = crypto.createCipheriv('aes-256-cbc', cryptkey, iv), encoded = encipher.update(cleardata, 'utf8', 'base64'); encoded += encipher.final( 'base64' ); return encoded; } var cryptkey = crypto.createHash('sha256').update('__tazai_wolf__key').digest(), iv = '1234567890000000', buf = "Hello World", enc = encode( cryptkey, iv, buf ); var dec = decode(cryptkey, iv, enc); function b64enc(data) { var b = new Buffer(data, 'binary'); return b.toString('base64'); } console.warn("Encoded length: ", enc); console.warn("Decoded all: " + dec);
请问php能相应的加密解密代码应该如何写?
要求能解上面加密后的如:Gpkr1WGBFhMvNd/Hr0eaBg==
也能加密数据给nodejs进行解密。