使用Sjcl我嘗試寫一點服務來發送和接收來自我的javascript應用程序的加密數據。SJCL的問題「無法讀取屬性」取代'未定義的「
不幸的是,sjcl documentation缺少關於如何處理其加密數據的信息。 他們的encrypt method返回一個包含多個屬性的對象,其中我只能猜測是什麼。
{"iv":"i0t5BttfXwtY6hxuFSZxJg==",
"v":1,
"iter":1000,
"ks":128,
"ts":64,
"mode":"ccm",
"cipher":"aes",
"salt":"MZ8hpbz+5hU=",
"ct":"n5mR5jwawYwsaUV0xbcYXrcCXPWjR5qMG23qU5Spguz4jpjG5QdFMWSf"}
我可以識別iter
,ks
,ts
,mode
,cipher
和salt
。我的猜測是ct
是密文,代表加密數據。但v
和iv
是什麼?
我試圖解密我的密文給ct
作爲參數,甚至試圖讓整個結果作爲參數,但它始終只是產生錯誤:
var result = sjcl.json.encrypt(
'pw123',
'{text: "this should be decrypted"}',
parameters,
rp
);
var originalText = sjcl.json.decrypt(
'pw123',
result.ct,
parameters,
rp);
// Results in:
// Uncaught TypeError: Cannot read property 'replace' of undefined
如何我ct
使用他們decrypt方法我解密? 任何有這方面的經驗,可以舉一個簡單的例子?
我的問題是,我沒有看到,結果是一個已經字符串化JSON,而不是一個對象。 我試圖訪問ct。 而在另一種情況下,我覆蓋了幾個已經在結果集中的參數。 感謝您指點我正確的方向。 – 2015-02-06 14:20:58