Sjclを使用して、javascript アプリケーションから暗号化されたデータを送受信する小さなサービスを作成しようとしています。
残念なことに、sjcl のドキュメントAES
には、暗号化されたデータの処理方法に関する情報が欠けています。彼らの暗号化メソッドは、何が何であるかを推測することしかできないサーバー属性を含むオブジェクトを返します。
{"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
復号化方法を使用して復号化するにはどうすればよいですか? 誰でもこれを経験し、簡単な例を挙げることができますか?