Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法在Appcellerator项目中使用sjcl_Javascript_Encryption_Titanium Mobile_Sjcl - Fatal编程技术网

Javascript 无法在Appcellerator项目中使用sjcl

Javascript 无法在Appcellerator项目中使用sjcl,javascript,encryption,titanium-mobile,sjcl,Javascript,Encryption,Titanium Mobile,Sjcl,我试图在我的Tianium(目标:iOS和Android)项目中使用sjcl(斯坦福Javascript加密库)加密一些文本。我使用的是最简单的方法,没有其他选择: sjcl.encrypt("mypassword", "mytext"); 应用程序只是挂在这条线上,我没有得到任何错误或任何有用的信息。我错过了什么 谢谢 代码可能运行良好。但是,第一种算法尝试使用PBKDF2函数从密码创建密钥。由于密码通常不包含足够的熵,无法安全地用于加密,因此此函数有意降低密码的增强速度。如果(调试)框架需

我试图在我的Tianium(目标:iOS和Android)项目中使用sjcl(斯坦福Javascript加密库)加密一些文本。我使用的是最简单的方法,没有其他选择:

sjcl.encrypt("mypassword", "mytext");
应用程序只是挂在这条线上,我没有得到任何错误或任何有用的信息。我错过了什么


谢谢

代码可能运行良好。但是,第一种算法尝试使用PBKDF2函数从密码创建密钥。由于密码通常不包含足够的熵,无法安全地用于加密,因此此函数有意降低密码的增强速度。如果(调试)框架需要花费大量时间来执行底层哈希函数,那么应用程序可能会出现挂起(检查CPU使用情况)


解决方案是降低PBKDF2作为输入的迭代次数,或者使用Java PBKDF2。两者都可能需要较低级别的SJCL访问权限。最后,在Java平台上选择JavaScript库进行加密将极大地降低性能。您可能想考虑为此删除SjCL。

是否包括SjCL.JS并保存所有文件SjCL.ZIP在文件夹中,并且包含在Projject DealthRyY中……在这个图片上您可以看到结构(也有一些不必要的部分留在包中):我试图减少迭代次数,但没有效果。有趣的是,如果我将他们的演示页面(“Strengten”字段)上的迭代次数设置为10,例如,脚本将失败。我还尝试使用直接十六进制密钥,这样它就不必由sjcl计算,但没有成功……我需要的基本上是一些非常浅层的加密(模糊处理就足够了),因为数据不太可能被任何不知道它的人访问,也没有太多价值。你能推荐一些javascript版本的东西吗?谢谢我不认为SJCL是一个完善的密码库。一旦我开始使用它,很快就发现CCM模式认证加密的AAD数据根本没有被放入计算中(在便利库中失败)。不幸的是,我没有使用太多JavaScript crypto API,主要是因为我认为浏览器不应该执行任何类型的加密相关任务(但在受信任的应用程序中应该可以)。如前所述,为每个平台创建本机功能并从JavaScript中使用这些功能会更有意义。我怀疑性能是个问题,我在纯浏览器实现中使用这段代码会获得亚秒的响应时间。sjcl库是其中一个备受推崇的加密库->了解更多关于this@JamesWestgate速度将在很大程度上取决于底层实现。对于大多数高端桌面浏览器来说,这应该没问题——它们的性能都比以前好得多——但对于嵌入式浏览器来说,这可能仍然是一个问题。这一点是正确的。我想还不清楚OP是在开发环境中还是在设备上出现了这个问题。我正在这方面做一些工作,当我知道更多的时候,我会更新。