2016-12-20 14 views
-1

文字列を暗号化する必要がありますが、私が望む出力がほとんど得られます。最後にpaddingとiv_vectorが関係していることをオンラインで読んで残りの8バイトを同じにしますtxtToEncryptとしての長さ。NodeJSのBlowfishで暗号化文字列

私はこのライブラリ誰も私に教えてください任意の手掛かりを持っている場合https://github.com/agorlov/javascript-blowfish

// function in Java that I need 
// javax.crypto.Cipher.getInstance("Blowfish/CBC/NoPadding").doFinal("spamshog") 


var iv_vector = "2278dc9wf_178703"; 
var txtToEncrypt = "spamshog"; 
var bf = new Blowfish("spamshog", "cbc"); 

var encrypted = bf.encrypt(txtToEncrypt, iv_vector); 

console.log(bf.base64Encode(encrypted)); 

Actual output: /z9/n0FzBJQ= 
What I need: /z9/n0FzBJRGS6nPXso5TQ== 

を使用しています。私は一日中Googleを全部探しました。

+0

あなたが取得している奇妙な出力とは何ですか? – Jason

+0

これは/ z9/n0FzBJQ = –

+0

です。それはあなたが探している出力にはっきりと関連しているので、使用しているモジュールの詳細なように見えます。私がしばらくして後で立ち往生している場合は、バックエンドコードを見て手がかりがあるかどうかを調べます。 – Jason

答えて

0

最後に、ここではフグ

とNodeJSに文字列を暗号化する方法である
// Module crypto already included in NodeJS 
var crypto = require('crypto'); 

var iv = "spamshog"; 
var key = "spamshog"; 
var text = "2278dc9wf_178703"; 
var decipher = crypto.createCipheriv('bf-cbc', key, iv); 
decipher.setAutoPadding(false); 
var encrypted = decipher.update(text, 'utf-8', "base64"); 
encrypted += decipher.final('base64'); 

console.log(encrypted); 

Returns: /z9/n0FzBJRGS6nPXso5TQ== 
関連する問題