问题标签 [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.

0 投票
0 回答
105 浏览

java - 在 Java 中实现 Rijndael-256 ECB 的方法

在 Java 中使用 ECB 模式实现 Rijndael-256 的方法有哪些?我发现了 AES 的一些变体,但我确实需要 Rijndael-256。

如果已经有答案,我会很感激有人向我推荐它,因为我还没有找到任何答案。

0 投票
2 回答
2587 浏览

java - Java 等效于 PHP Triple DES ECB 加密/解密

我有一个下面的 PHP 函数,我想在 Java 中实现但没有运气,我无法获得相同的输出:

这是我在这里找到的java代码:

0 投票
1 回答
925 浏览

encryption - 使用 AES/ECB 解密数据的大小

有没有办法在不明确存储的情况下找出 AES/ECB 解密二进制(0x00 不是结尾)数据的原始大小?

0 投票
2 回答
1462 浏览

c# - 将 PHP AES 128 ECB 加密与 C# 匹配

我有以下我试图在 C# 中模仿的 PHP 示例。它使用带有 PKCS7 填充的 AES 128 位 ECB 加密:

我目前正在运行以下 C# 代码来尝试模拟结果:

当我查看这些结果时,我得到的是:

PHP:

C#:

里面有很多诊断代码和杂项代码,但基本问题是,当传入相同的密钥的 MD5 哈希(二进制文件相同)并且传入相同的输入数据(字节相同,或我可以在输入的 C# 代码中强制填充相同)我得到不同的输出结果。我确信这很简单,但它并没有突然出现在我身上。有没有人可以在这里找出问题?

基本问题是底部显示的 SID(AES 加密结果)不同 - 导致差异的原因是什么?

0 投票
0 回答
98 浏览

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 不是一种选择。

0 投票
0 回答
86 浏览

java - MARS/ECB/NoPadding 和 IllegalBlockSizeException

我正在使用 IBM SDK Java 技术版和以下代码:

在运行应用程序时,我遇到了这个异常:

线程“main”javax.crypto.IllegalBlockSizeException 中的异常:输入长度不是 16 字节的倍数。

我在某处读到它与使用“NoPadding”有关,但 MARS 在这个库中没有实现任何填充。任何想法如何避免这种异常?

我需要在这个地方同时使用 MARS 和 ECB。

0 投票
1 回答
806 浏览

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 真的有问题?

0 投票
1 回答
582 浏览

c# - UWP下的AES128-ECB

我需要帮助在通用 Windows 应用程序下检索 AES128-EBC 加密字符串。
我有一个用作密钥的字符串密码。使用 32 位长度的 MD5 哈希值,我想用 AES128-EBC 加密文本。现在我用它来创建 MD5Hash:

而这个加密代码:

我使用的原因SymmetricAlgorithmNames.AesEcbPkcs7是当我使用SymmetricAlgorithmNames.AesEcb输出字符串时为空。我不明白为什么。我的问题是:我的代码是否创建了 AES128-ECB 加密?因为我不确定它确实如此。因为等待该加密数据的软件无法识别它,所以它无法解密它。

0 投票
1 回答
529 浏览

c# - ECB 解密问题中的 C# Triple DES

我有这个 PHP 脚本,我们需要将其转换为 C# 以解码来自 API 发布请求的结果,但是我的 C# 实现遇到了问题。

我们在运行 PHP 脚本时得到了很好的结果,XXXX-XXXX-XXXX但得到了不同的错误。

值为:

php脚本:

C# 脚本

0 投票
1 回答
165 浏览

ios - iOS 3DES ECB 解密

我正在尝试使用以下函数解密,但我不断得到相同的加密字符串。

这会是什么原因?

更新:

我已将数据更改为:

仍然没有运气。我得到与输入加密字符串相同的输出字符串。

我通过返回解决了这个问题: