问题标签 [as3crypto]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - 如何使用由 aes-256-ecb 加密的 as3crypto 字符串解密?
字符串在这里用 php 加密。可以使用以下参数对其进行解密:Rijndael-256、ECB 和 Base64。但它不能被我的 ActionScript 代码解密:
升级版:
“无法解密”意味着我得到了错误的纯文本。
在 php 中,纯文本首先由 aes-256-ecb 加密。然后用Base64编码。在 ActionScript 中,这些步骤以相反的顺序完成。
UPD2:
测试编码解码:
停止后的输出cihper.encrypt(data)
为:
UPD3:
它适用于 PKCS5 填充:
输出是:
UPD4:
对于从 php (as here ) 获取的数据,带有 PKCS5 填充的代码在此处停止运行。并且使用 Null 填充它不会停止但解密的数据是错误的。
php - 在 PHP 中解密 as3crypto 加密文本
我试图通过演示应用程序加密 as3crypto 中的文本。
现在我正在尝试通过 php 解密加密的文本,但似乎文本没有正确解密。有谁知道如何通过PHP正确解密它?还是我做错了?请赐教...
这是场景:
在http://crypto.hurlant.com/demo/中加密它:
加密: AES
模式: CBC
填充:无
密钥: 11918f8bcd112e92744125008722050c
文字: Lorem ipsum dolor sit amet,consectetur adipiscing elit。在 ut massa nec purus laoreet posuere quis vitae tortor。
初始化向量: 留空
按加密。选择base64并复制密文。
制作一个包含这些代码的 php 脚本并运行它:
$cipher = MCRYPT_RIJNDAEL_128;
$mode = MCRYPT_MODE_CBC;
$key = "11918f8bcd112e92744125008722050c";
$cipher = "在此处放置密码文本...";
$data = base64_decode($cipher);
echo mcrypt_decrypt($cipher, $key, $data, $mode);
asp.net - 在 .Net 中加密并在 AS3 中解密
我需要加密 ASP.net 中的一些文件并在使用 Action Script 3 构建的 flash 应用程序中解密它们。
AS3 开发人员发现了一个名为 AS3crypto 的库,这对于 AS3 来说似乎是一个不错的库。这个想法是使用相同的密钥加密和解密。对称加密?
但我正在努力寻找可以使用相同加密算法的 .Net 等价物。
我已经尝试了来自 4guysfromrolla 博客的 RC4 示例,它对我来说太慢了。我已经在这个例子中尝试过 AES(http://msdn.microsoft.com/en-us/library/system.security.cryptography.rijndaelmanaged (v=vs.100).aspx ),它在.Net 上效果很好,但我可以似乎没有使用 AS3crypto 解密以取回相同的文件。AS3crypto 似乎不喜欢使用 IV 进行解密。我只能提供一把钥匙。
到目前为止,我迷路了。如何在 .Net 中加密文件并在 AS3 中解密以获取相同的文件?
asp.net - 解密期间丢失的前几个字符
我在 VB.Net 中使用 AES CBC 加密,并使用AS3Crypto完成解密。解密过程中丢失了前几个字符(大约 16 个),并替换为如下所示的随机字符。
这是我的 .net 代码。在 AS3Crypto 演示页面上,我使用 Secret Key > AES > CBC。我尝试使用不同的填充和键格式设置仍然没有运气。
谢谢。
asp.net - 指定的初始化向量 (IV) 与此算法的块大小不匹配
我正在尝试解密一些文本并收到此错误。我做了很多谷歌和阅读文章。有很多人有同样的错误,但我无法解决我的问题。
下面是一些代码示例,您可以看到我正在使用的 IV。
IV 由 AS3crypto 生产。您可以在此页面中查看演示。 您可以在“密钥”选项卡上看到。我的设置是AES,CBC。
即我无法更改 IV,我认为 IV 是有效的。
我认为问题在于我在.Net 中设置 IV 的方式不正确。
有什么想法吗?
提前致谢。
actionscript-3 - 使用 as3httpclientlib 从 as3 air 项目到 web 服务的 https
我正在尝试更改已完成的 Web 服务实现以使用 HTTPS。
我一直在使用as3httpclientlib
(https://code.google.com/p/as3httpclientlib/)。
当我使用非 ssl 端点时,它按预期工作。
但是,当我使用下载页面(https://code.google.com/p/as3crypto/downloads/list)或包含的 SSL 端点和版本 1.3 as3crypt 时,as3crypto-1_3_patched.swc
我得到以下信息:
跟踪源自 DER.as 的第 123 行
https://code.google.com/p/as3crypto/source/browse/trunk/as3crypto/src/com/hurlant/util/der/DER.as?r=7
以及X509Certificate.as
https://code.google.com/p/as3crypto/source/browse/trunk/as3crypto/src/com/hurlant/crypto/cert/X509Certificate.as?spec=svn28&r=7第 225 行的错误
当我使用最新版本的as3crypt
https://code.google.com/p/as3crypto/source/detail?r=28我得到
从https://code.google.com/p/as3crypto/source/browse/trunk/as3crypto/src/com/hurlant/util/asn1/type/SetType.as的第 23 行抛出
我尝试访问的网络服务位于 azurewebsites 上,因此将使用 *.azurewebsites.net 证书。
我也在使用ASC2编译器,这导致了我必须在加密项目中修复的几个错误,包括我发现在 air sdk 3.5 上发布的if (hex.length&1==1) hex="0"+hex;
com.hurlant.util.hex语法错误if ((hex.length&1)==1) hex="0"+hex;
我开始认为这可能与在 Azure 网站上完成 SSL 的方式有关,因为当我完全剥离请求时,我仍然得到同样的错误,但是指向https://www.google.com,我没有错误。
他们在他们的网站上声明:
HTTPS 并不总是有效。as3crypto 库存在一些小错误,例如,雅虎的 https 和雅虎拥有的域(如美味)目前无法正常工作。
我浏览了 as3crypt 的问题列表,想知道其中一个是否包含修复:https ://code.google.com/p/as3crypto/issues/list
有谁知道我为什么会收到这些错误(天蓝色对他们的证书做了什么不同的事情(可能是通配符?))以及我该如何解决?是否有可用的 as3crypto 维护版本?或者有没有更好的方法来使用 Air 移动应用程序中的 https 网络服务?
****更新****
我尝试使用 as3crypto 的补丁版本,但仍然没有乐趣。以下是我的堆栈跟踪出错时的副本。解析证书似乎有错误?
我还研究过改用 SecureSocket,但不幸的是 iOS 不支持它。
http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/net/SecureSocket.html
AIR 配置文件支持:所有桌面操作系统都支持此功能,但并非所有 AIR for TV 设备都支持此功能。在移动设备上,它在 Android 上受支持,但在 iOS 上不支持。您可以使用 SecureSocket.isSupported 属性在运行时测试支持。
重建:
向 azurewebsites.net 的任何 https 子域发出获取请求。
即以下代码将重现:
javascript - Node.js 和 Actionscript (as3crypto) 之间的 AES 中断
我正在尝试使 AES-256 加密跨 node.js 和 actionscript 工作,但是我尝试的每种方法都导致了死胡同。以下是两种不同的尝试,它们都失败了(出于不同的原因)。
需要注意的重要一点是,在这两种情况下,IV、密钥和密文都完美匹配。
请原谅代码重复,但我认为最好只显示我正在使用的内容......
1)默认填充
在 as3 中使用默认的 Node.JS 填充和 PKCS5 时,出现错误:PKCS#5:unpad: Invalid padding value。预期 [105],发现 [30]。
节点.JS
AS3
使用“HELLO WORLD!”时 对于输入和两者的相同键,我得到
Node.JS 端的输出
四:87134386f7bf12dffc9b87b49da86d10
密钥:56036ce4ddab006af7b0924ddad511adbea3fba97f672db4040102a1978e41f7
明文:48454c4c4f20574f524c4421
密文:d68db4542be683a80bceb0b8ca900d5c
AS3侧输出
四:87134386f7bf12dffc9b87b49da86d10
密钥:56036ce4ddab006af7b0924ddad511adbea3fba97f672db4040102a1978e41f7
密文:d68db4542be683a80bceb0b8ca900d5c
解密后的明文应该是:48454c4c4f20574f524c4421
错误:PKCS#5:unpad:无效的填充值。预期 [105],发现 [30]
2)自定义和空填充
当禁用默认的 Node.JS 填充并填充空字符,然后在 as3 上使用 NullPad 时,我没有收到任何错误,但解密失败
节点.JS
AS3
使用“HELLO WORLD!”时 对于输入和两者的相同键,我得到
Node.JS 端的输出
四:cfa6cfee9f81d81d7e3b651e57b6f42d
密钥:56036ce4ddab006af7b0924ddad511adbea3fba97f672db4040102a1978e41f7
明文:48454c4c4f20574f524c4421
密文:8daf432aad551e333818c42d3190dca5
AS3侧输出
四:cfa6cfee9f81d81d7e3b651e57b6f42d
密钥:56036ce4ddab006af7b0924ddad511adbea3fba97f672db4040102a1978e41f7
密文:8daf432aad551e333818c42d3190dca5
解密后的明文应该是:48454c4c4f20574f524c4421
但它是:70a4716a7a7d7156bca075efe90041a3
请注意,尝试 retBytes.readUTFBytes(retBytes.length) 也会产生垃圾。
有什么方法可以使 AES 加密在两个平台上都起作用?!
编辑:为了后代,一些用于加密和解密的节点代码,并附有说明潜在问题的注释:
javascript - 如何限制在 dataProvider AS3 中接收的项目数量
*您好!我只需要在列表组件中显示的 dataProvider 上填充 100 个项目。即使物品超过500甚至1000,我也只想要100个物品,首先是所有打开相机的物品,然后填充其余的总共完成100个在DataProvider上。使用 ActionScript 3.0 (Flash CC):
更新:基本上,我需要的是:我在 Flash 中有一个视频聊天应用程序,所以当有数百个用户时,由于列表组件填充了数百个项目(用户),应用程序变得很慢,所以我希望至少有 100 个列表中的用户优先考虑用户流式传输的实时视频。是否有意义?:) 谢谢- 亚历克斯刚刚编辑
*
代码:
谢谢你花时间做这个!
actionscript-3 - 我收到 ArgumentError:错误 #2025:
这是我的代码。请任何可以帮助我的人。我很初学者。
它给了我这个错误
ArgumentError:错误 #2025:提供的 DisplayObject 必须是调用者的子对象。在 flash.display::DisplayObjectContainer/removeChild() 在 final2_fla::MainTimeline/loop()
python - Python AES 加密(PyCrypto)-> 使用 AES 的 AS3 解密(as3Crypto)
我有一个 django 应用程序,它为 Flash 应用程序提供加密的媒体文件。python中的加密是使用PyCrypto完成的(我也包括描述以防万一):
我还无法解密 Python 提供的媒体文件( GreenSock 使用LoaderMax下载,使用“DataLoader”)。我的 AS3 代码(使用AS3Crypto)如下:
我明白了
RangeError:错误 #2006
一种怀疑是在 Python 中我有 64 位基础,但我认为AS3 ByteArray 是 32 位基础。我已经尝试了以下方法,但得到了相同的错误。
另一个怀疑是我没有从_content中适当地删除“填充”/适当地设置我的IV(这是由我必须从_content中删除的填充指定的)。然而,这应该通过那个“简单”的语句来完成。我一直在尝试这个,但没有成功:
谁能建议我如何解决这个问题?:)
非常感谢!