2015-11-06 83 views
0

我使用節點包簡易加密(https://www.npmjs.com/package/easy-encryption)。這個包加密和解密字符串。如果解密創建了易加密的字符串,那就好了。但是,如果解密不正確的字符串,然後服務器滴返回此:類型錯誤處理

例不正確解密:

var crypt = new Crypt({ 
    secret: crypt_config.secret, 
    iterations: crypt_config.iterations 
}); 

var result = crypt.decrypt('test'); 

結果:

crypto.js:122 
    this.push(this._handle.update(chunk, encoding)); 
         ^

TypeError: Bad input string 
    at TypeError (native) 
    at Decipher.Cipher._transform (crypto.js:122:26) 
    at Decipher.Transform._read (_stream_transform.js:167:10) 
    at Decipher.Transform._write (_stream_transform.js:155:12) 
    ... 

如何使當錯誤發生服務器繼續工作和誤差如何處理?

+1

爲什麼你認爲'測試'解密正確?這不是一個有效的密文,是嗎? –

回答

1

如果您想繼續執行,請將代碼封裝在try catch語句中。

var crypt = new Crypt({ 
    secret: crypt_config.secret, 
    iterations: crypt_config.iterations 
}); 

try{ 
    var result = crypt.decrypt('test'); 
} 
catch(err){ 
    alert(err); 
} 

但是,正如評論所說,你真的在​​傳遞正確的數據類型嗎?這對你無能爲力。

+0

謝謝!是的,'解密'帶字符串。 – Vladimir37

+0

你明白了!謝謝。 – Xogle