bac*_*h17 65
JSAES是JavaScript中AES的强大实现. http://point-at-infinity.org/jsaes/
Che*_*eso 35
slowAES很容易使用.逻辑设计.合理的OO包装.支持IV和加密模式等旋钮和控制杆.与.NET/C#的良好兼容性.这个名字是诙谐的; 它被称为" 慢速 AES",因为它没有在C++中实现.但在我的测试中,这并非不切实际.
它缺乏ECB模式.我猜也是缺少点击率模式,虽然你可以很容易地建立一个ECB模式.
它完全专注于加密.,做了很好的互补类RFC2898兼容的基于口令的密钥导出,在Javascript中,是可以从Anandam.这对库适用于类似的.NET类.良好的互操作性.但是,与SlowAES相比,Javascript PBKDF2 在生成密钥时明显慢于Rfc2898DeriveBytes类.
技术上有很好的互操作并不奇怪,但对我来说关键点是SlowAES采用的模型很熟悉且易于使用.我发现AES的其他一些Javascript库难以理解和使用.例如,在其中一些我找不到设置IV或模式的地方(CBC,ECB等).事情并非我所期望的那样.SlowAES不是那样的.这些房产正好在我预期的地方.熟悉Java和.NET加密编程模型后,我很容易接受.
Anandam的PBKDF2并没有达到那个水平.它只支持对DeriveBytes函数的单次调用,因此如果您需要从密码派生密钥和IV,则此库将无法正常工作.一些轻微的修改,它正在为此目的正常工作.
编辑:我把一个将SlowAES和Anandam的PBKDF2的修改版本打包成Windows脚本组件的例子.将此AES与密码派生密钥一起使用可显示与.NET RijndaelManaged类的良好互操作性.
EDIT2:演示页面显示如何从网页使用此AES加密.使用.NET支持的相同输入(iv,密钥,模式等)可以提供与.NET Rijndael类的良好互操作.您可以执行"查看源"以获取该页面的javascript.
EDIT3
后期添加:Javascript Cryptography被认为是有害的.值得一读.
Dan*_*y C 25
在我搜索AES加密时,我从一些斯坦福大学的学生那里找到了这个.声称是最快的.支持CCM,OCB,GCM和块加密. http://crypto.stanford.edu/sjcl/
最近我需要在javascript和python之间执行一些加密/解密互操作性.
特别...
1)使用AES加密javascript并在python中解密(Google App Engine)2)使用RSA加密javascript并在python中解密(Google App Engine)3)使用pycrypto
我发现很多不同版本的RSA和AES在网络上浮动,他们的方法各不相同,但我没有找到端到端javascript和python互操作性的好例子.
最终,经过大量的试验和错误,我设法凑齐了一些适合我需求的东西.
无论如何,我打破了一个js/webapp与谷歌应用程序引擎托管的python服务器谈话的例子,该服务器使用AES和公钥以及私钥RSA.
我虽然通过链接将它包含在这里,以防它对某些需要完成同样事情的人有用.
http://www.ipowow.com/files/aesrsademo.tar.gz
并在rsa-aes-demo DOT appspot DOT com上看到演示
编辑:查看浏览器控制台输出并查看源代码以获取有关演示中发生的事情的一些提示和有用信息
编辑:更新非常旧和已解散的源链接到现在指向
https://sestertii.com/files/aesrsademo.tar.gz
从我自己的经验来看,asmcrypto.js提供了JavaScript中最快的AES实现(特别是在Firefox中,因为它可以充分利用asm.js).
从自述文件:
Run Code Online (Sandbox Code Playgroud)Chrome/31.0 SHA256: 51 MiB/s (9 times faster than SJCL and CryptoJS) AES-CBC: 47 MiB/s (13 times faster than CryptoJS and 20 times faster than SJCL) Firefox/26.0 SHA256: 144 MiB/s (5 times faster than CryptoJS and 20 times faster than SJCL) AES-CBC: 81 MiB/s (3 times faster than CryptoJS and 8 times faster than SJCL)
编辑:该网页加密API现在大多数浏览器中实现,如果你关心性能应作为首要的解决方案.请注意,IE11实现了该标准的早期草案版本,该版本未使用promises.
可以在这里找到一些例子:
使用CryptoJS
这是代码:https : //github.com/odedhb/AES-encrypt
这是一个在线工作示例:https : //odedhb.github.io/AES-encrypt/
归档时间: |
|
查看次数: |
169272 次 |
最近记录: |