Tag: 河豚

NodeJS相当于Java中的Blowfish 448密钥

在我们的团队中,我们需要从Java转移到NodeJS,并且API中有一个端点可以生成448位长度的Blowfish密钥。 我们试图在NodeJS中复制它,但我们还没有find一种方法来生成一个长度为448位的密钥。 原来的代码是这样的: Provider sunJce = new SunJCE(); Security.addProvider(sunJce); KeyGenerator kgen = KeyGenerator.getInstance("Blowfish"); kgen.init(448); byte[] raw = key.getBytes(); SecretKeySpecskeySpec = new SecretKeySpec(raw, "Blowfish"); 我们认为与crypto模块等价的是: var crypto = require('crypto'); var cipher = crypto.createCipher('bf-ecb', key); 我们是否在正确的方向?

用nodejs crypto与php的mcrypt解密blowfish-ecb

我试图在Node.js中使用内置的encryption库来解码以下base64编码的密文 2tGiKhSjSQEjoDNukf5BpfvwmdjBtA9kS1EaNPupESqheZ1TCr5ckEdWUvd+e51XWLUzdhBFNOBRrUB5jR64Pjf1VKvQ4dhcDk3Fdu4hyUoBSWfY053Rfd3fqpgZVggoKk4wvmNiCuEMEHxV3rGNKeFzOvP/P3O5gOF7HZYa2dgezizXSgnnD6mCp37OJXqHuAngr0pps/i9819O6FyKgu6t2AzwbWZkP2sXvH3OGRU6oj5DFTgiKGv1GbrM8mIrC7rlRdNgiJ9dyHrOAwqO+SVwzhhTWj1K//PoyyzDKUuqqUQ6AvJl7d1o5sHNzeNgJxhywMT9F10+gnliBxIg8gGSmzBqrgwUNZxltT4uEKz67u9eJi59a0HBBi/2+umzwOCHNA4jl1x0mv0MhYiX/A== 它似乎与PHP的mcrypt函数使用stringtypeconfig.sys^_-作为关键,如通过input值http://www.tools4noobs.com/online_tools/decrypt/和selectBlowfish,ECB,Base64解码。 但是,当我在Node.js中运行以下代码: var crypto = require('crypto'); var data = "2tGiKhSjSQEjoDNukf5BpfvwmdjBtA9kS1EaNPupESqheZ1TCr5ckEdWUvd+e51XWLUzdhBFNOBRrUB5jR64Pjf1VKvQ4dhcDk3Fdu4hyUoBSWfY053Rfd3fqpgZVggoKk4wvmNiCuEMEHxV3rGNKeFzOvP/P3O5gOF7HZYa2dgezizXSgnnD6mCp37OJXqHuAngr0pps/i9819O6FyKgu6t2AzwbWZkP2sXvH3OGRU6oj5DFTgiKGv1GbrM8mIrC7rlRdNgiJ9dyHrOAwqO+SVwzhhTWj1K//PoyyzDKUuqqUQ6AvJl7d1o5sHNzeNgJxhywMT9F10+gnliBxIg8gGSmzBqrgwUNZxltT4uEKz67u9eJi59a0HBBi/2+umzwOCHNA4jl1x0mv0MhYiX/A=="; var decipher = crypto.createDecipher('bf-ecb', 'typeconfig.sys^_-'); data = decipher.update(data, "base64", "utf8"); data += decipher.final("utf8"); console.log(data); 我得到垃圾输出: y : d ( Q i z1 4 k ( a5 u 73c/ (ֻ ) fȠ ec -<z 8 ( -L ԛ I 1L* u 4 j- Чh쭊@\P)?޼ […]