问题标签 [ecb]
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.
java - 在 Java 中实现 Rijndael-256 ECB 的方法
在 Java 中使用 ECB 模式实现 Rijndael-256 的方法有哪些?我发现了 AES 的一些变体,但我确实需要 Rijndael-256。
如果已经有答案,我会很感激有人向我推荐它,因为我还没有找到任何答案。
java - Java 等效于 PHP Triple DES ECB 加密/解密
我有一个下面的 PHP 函数,我想在 Java 中实现但没有运气,我无法获得相同的输出:
这是我在这里找到的java代码:
encryption - 使用 AES/ECB 解密数据的大小
有没有办法在不明确存储的情况下找出 AES/ECB 解密二进制(0x00 不是结尾)数据的原始大小?
c# - 将 PHP AES 128 ECB 加密与 C# 匹配
我有以下我试图在 C# 中模仿的 PHP 示例。它使用带有 PKCS7 填充的 AES 128 位 ECB 加密:
我目前正在运行以下 C# 代码来尝试模拟结果:
当我查看这些结果时,我得到的是:
PHP:
C#:
里面有很多诊断代码和杂项代码,但基本问题是,当传入相同的密钥的 MD5 哈希(二进制文件相同)并且传入相同的输入数据(字节相同,或我可以在输入的 C# 代码中强制填充相同)我得到不同的输出结果。我确信这很简单,但它并没有突然出现在我身上。有没有人可以在这里找出问题?
基本问题是底部显示的 SID(AES 加密结果)不同 - 导致差异的原因是什么?
java - javax.crypto.IllegalBlockSizeException:使用填充密码解密时,输入长度必须是 8 的倍数
我正在使用以下算法在 Java 中加密/解密 -
加密/解密方法如下 -
但它给了我以下错误
如果我删除 String 中的所有 UTF-8 并且getBytes()
in 在我的本地 Windows 7 机器上可以正常工作,但在我的 linux 机器(部署了 tomcat 的地方)上无法正常工作,并且出现与上述相同的错误。任何帮助或建议表示赞赏。
它可能不相关,但我正在从 DB2 数据库中保存和检索值。
由于现有数据设置,我无法在 base64 编码后将字符串存储在 DB2 中。我需要用上面的 alogo 解密现有数据。它适用于 Windows 机器,但不适用于 Linux(都没有 utf 格式)。
经过一些调试后,它看起来像new String()
并且getBytes()
正在使用默认的平台特定语言环境。同样UTF-8
在 new String() 中,将编码字节(根据 DES 为 8 字节的倍数)更改为非 8 的倍数,因此解密失败。使用 base64 不是一种选择。
java - MARS/ECB/NoPadding 和 IllegalBlockSizeException
我正在使用 IBM SDK Java 技术版和以下代码:
在运行应用程序时,我遇到了这个异常:
线程“main”javax.crypto.IllegalBlockSizeException 中的异常:输入长度不是 16 字节的倍数。
我在某处读到它与使用“NoPadding”有关,但 MARS 在这个库中没有实现任何填充。任何想法如何避免这种异常?
我需要在这个地方同时使用 MARS 和 ECB。
c - 使用 WolfCrypt 的 ECB 模式下的 AES
我在桌面软件中使用 OpenSSL,在嵌入式软件中使用 WolfCrypt(也是开源的)。对于这个项目,我必须在 ECB 模式下使用 AES,即使我知道 ECB 不是 AES 最安全的操作模式。根据这个线程(断开的链接),WolfCrypt 支持 ECB 模式,即使它没有正确记录。
我可以在 OpenSSL 中毫无问题地对数据进行编码和解码,但在 WolfCrypt 中我不能这样做。似乎 wolfCrypt 在 ECB 模式下有 192 位和 256 位长的密钥(但它似乎适用于 128 位长的密钥)。我使用以下代码注意到了这种行为。此代码加密一大块数据,对其进行解密并将结果与原始数据进行比较。如果数据匹配,则会显示成功消息。只有 128 位长的密钥似乎会产生正确的结果。
我使用 WolfSSL 3.8.0 在 VS 2013 (Windows 7) 中测试了此代码。
我在这里做错了什么还是 WolfCrypt 真的有问题?
c# - UWP下的AES128-ECB
我需要帮助在通用 Windows 应用程序下检索 AES128-EBC 加密字符串。
我有一个用作密钥的字符串密码。使用 32 位长度的 MD5 哈希值,我想用 AES128-EBC 加密文本。现在我用它来创建 MD5Hash:
而这个加密代码:
我使用的原因SymmetricAlgorithmNames.AesEcbPkcs7
是当我使用SymmetricAlgorithmNames.AesEcb
输出字符串时为空。我不明白为什么。我的问题是:我的代码是否创建了 AES128-ECB 加密?因为我不确定它确实如此。因为等待该加密数据的软件无法识别它,所以它无法解密它。
c# - ECB 解密问题中的 C# Triple DES
我有这个 PHP 脚本,我们需要将其转换为 C# 以解码来自 API 发布请求的结果,但是我的 C# 实现遇到了问题。
我们在运行 PHP 脚本时得到了很好的结果,XXXX-XXXX-XXXX
但得到了不同的错误。
值为:
php脚本:
C# 脚本
ios - iOS 3DES ECB 解密
我正在尝试使用以下函数解密,但我不断得到相同的加密字符串。
这会是什么原因?
更新:
我已将数据更改为:
仍然没有运气。我得到与输入加密字符串相同的输出字符串。
我通过返回解决了这个问题: