我在Objective-C中成功使用了RNCryptor,現在需要從Javascript中爲我的iOS應用加密數據。但是,這個簡單的測試失敗......RNCryptor JS簡單案例失敗
<script type="text/javascript" src="js/utils/sjcl.js"></script>
<script type="text/javascript" src="js/utils/rncryptor.js"></script>
function testEncodeEncrypt_RN(plaintext) {
var secret = "rosebud";
var encrypted = RNCryptor.Encrypt(secret, plaintext);
var decrypted = RNCryptor.Decrypt(secret, encrypted);
console.log("decrypted to " + decrypted);
}
...出現錯誤 「未捕獲的損壞:PKCS#5填充腐敗」 由sjcl.js.拋出
我已經嘗試了各種選項對象,但我認爲沒有選項應該適用於加密和解密。改變輸入字符串和祕密也不好。有任何想法嗎?
好的。感謝您的回答,並非常感謝偉大的圖書館!我正在傳遞一個字符串(只是在評論中的位置數組中簡單地吹響)。我的外賣是轉換爲JS中的位,並將這兩個**的iOS中的'.rounds'設置修改爲1000.我完全不擔心減少加密的晦澀難懂。我有這個權利嗎? – user1272965
你已經掌握了。這應該工作。 –
抱歉打擾 - 它看起來好像github上的當前rncryptor.js使用10K迭代。第15行表示'返回sjcl.misc.pbkdf2(密碼,salt,10000,32 * 8,hmacSHA1);'我應該將其更改爲1k? – user1272965