问题标签 [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.
node.js - 使用 AES-ECB 加密的节点 API 请求:失败(标头内容包含无效字符)
在 aes-ecb 加密方面相当菜鸟,提前道歉。
我正在尝试对需要加密有效负载的服务器进行 API 调用。我在加密base64和ascii之间的数据转换的顺序上遇到了一些麻烦。
当我运行下面的代码时,我不断得到
标头内容包含无效字符。
我怀疑这可能是我在类型之间转换加密数据的方式,但不完全确定。任何想法将不胜感激。
php - PHP 使用 openssl 解密数据(使用 mcrypt 加密)
我有一个数据库,其中包含使用 php Mcrypt 库加密的 3DES (ECB) 加密数据。由于不推荐使用 Mcrypt,我需要切换到 OpenSSL 来解密它。所有数据将使用 xchacha20-poly1305-ietf 重新加密。
所以我不需要关于 3DES 不安全和 ECB 不好等的评论,我们知道,这就是我们试图解密以获得更好的加密算法的原因。
我在下面提供了用于使用 mcrypt 进行加密的代码以及我们尝试使用 (openssl) 对其进行解密的 1 行。它总是返回 false,我们想知道为什么。
我开始怀疑问题出在使用 8 字节 IV 的 mcrypt 库上,而打开 SSL 说它必须是 0 字节。
任何帮助将不胜感激找到使用openssl解密值的方法。
提前致谢。
这是代码:
程序的输出显示:
java - 使用 AES-128-ECB(无填充)解码 base64 文本,哈希 md5 作为密钥
所以我有一个我似乎无法解决的问题。我需要使用生成的哈希 md5 作为键来解码一些 Base64 文本。我已经写了这段代码。输出不可读。关键的"freeforall"
和"validate"
是实际的。
谁能告诉我这段代码有什么问题?或者可能是我对问题的解释。
ruby - 使用 AES 的 Rails 加密,过于复杂
我在加密来自我正在使用的第三方供应商的值时遇到问题。
他们的指令如下:
到目前为止我尝试过的...
如您所见,我的结果与实际结果不符,应该是“D6281D5BE6CD6E79BB41C039F4DD020FBEC9D290AD631B2598A6DFF55C68AD04”
有谁知道我是否遗漏了什么或做一些奇怪的事情。他们的指示对我来说很难解析,所以也许我遗漏了一些东西。感谢您提供的任何帮助!(我在上面看到的内容上尝试了很多不同的变化)。我只需要一些指导,或者至少需要有人告诉我,我不会因为不理解他们的指示而疯狂。
c# - C# 简单加密有效但解密无效?
希望有人可以提供帮助。我遵循了一个关于如何制作加密/解密工具的非常简单的教程。加密工作完美,但解密不起作用。加密的工作原理是,当我在文本文档中打开加密文件时,它都是随机字符,但是当我尝试解密它时,原始数据并没有恢复,它只是更多的随机字符。
c# - 客户端-服务器通信和加密/解密
我正在用 C# 实现一个网站,并且我需要执行一个客户端服务器通信。客户端将发送(POST)加密数据,服务器将读取数据并使用加密响应进行响应。我们使用的加密是 AES-128 ECB 密码。
设备正在发送以下格式的加密数据(这是一段数据):
3721 b1cc 1759 3067 f993 7c3d bda9 4f04 547c ea1b 3974 2bd1 f213 74a5 2036 7927 e679 bab5 7bbc 3fbf 6a30 85e9 38a8 b877 594a d3289 74bb 38a 5d929 cc
我无法在 page_load 方法的 .aspx 页面中接收它。谁能告诉我这是什么数据?
另外,如何将纯文本转换为这种数据?
我已经有了解密和加密功能。
当我将上述数据从文件读取到字节数组中后,在解密函数中使用上述数据时,我可以获得计划文本。我必须使用 Encoding.UTF8.ToString() 函数从解密函数输出的字节数组中获取纯文本以获取纯文本。
但是当我将响应数据转换为字节数组并将其逐字节发送到 Response.write() 时,我仍然得到原始加密字符串,而不是上面显示的原始二进制数据。
以下是加密和解密的功能:
例如,计划文本将是“你好,你好吗?” 并且加密的文本将是"Cxzx3miStNMIjP9zG1xlCme"。我需要将此加密文本转换为原始二进制数据,如上面显示的一个示例,并使用 Response.Write() 将其发送回。
我尝试过使用 Response.BinaryWrite() 但是当我在浏览器中调用测试页面时它不会发回我需要的原始数据。它只是给了我“Cxzx3miStNMIjP9zG1xlCme”或其他一些奇怪的字符。
node.js - 尝试使用 AES-128-ECB 算法加密时出错
我一直在尝试使用 NodeJS 中的“crypto”库加密一些消息,但出现以下错误:
(节点:31732)UnhandledPromiseRejectionWarning:错误:错误:0607F08A:数字信封例程:EVP_EncryptFinal_ex:数据不是块长度的倍数
在 Cipheriv.final (internal/crypto/cipher.js:164:28)
在 self.test (...)
cipher.final()
如上面的堆栈所示,该错误源自调用。
我无法弄清楚这个错误的含义以及如何解决它。不幸的是,由于限制(我正在尝试通过 UDP 发送加密数据),我无法使用像 CBC 这样的算法(消息的接收顺序与加密顺序不同)。
任何帮助是极大的赞赏!
c# - 读取 POST 数据中的字节流时,输入数据不是一个完整的块
我有一个网络服务,我正在从 POST 请求中读取数据流。但是当我从 Request.InputStream 中读取它时,它给了我一个错误消息“输入数据不是一个完整的块”。
但是,当我尝试从同事发送给我的文件中读取它时,即使两者都包含相同的数据,它也可以工作。
以下是数据:
3721 b1cc 1759 3067 f993 7c3d bda9 4f04 547c ea1b 3974 2bd1 f213 74a5 2036 7927 e679 bab5 7bbc 3fbf 6a30 85e9 38a8 b877 4855 37e5 5751 f1da ca75 578e 7d32 ce07 9e47 9ad7 34fe b70a 331d 7c4a a5e7 12b1 594a d329 74bb 5d24 2088 738a 9978 cecc 9a04 8686 c451 086b cd44 5e2b cb2b 98db d9ec 73ef 9433 c9f3 185c 3d8e a610 6f30 642c 83e0 3ce4 4804 74aa 22cf 6378 d49c fd73 a6e9 d0ab 53cd 3cb5 f4da a05f 93c9 e4ae 6a53 91ee aa0d 72d7 3ab9 7100 302c
我的同事发送的文件是从 lisp 程序创建的,并且使用下面的代码成功解密了该文件。但是当我将上面的数据作为 Request 中的输入流读取并尝试对其进行解密时,它会引发错误。
如果您认为我做错了,请告诉我。
c# - 使用 CipherMode.ECB 进行 AES 加密
我需要帮助才能运行我的 C# AES 加密。
在我的示例中,我有明文、密钥和结果。
在一个名为它的在线工具http://aes.online-domain-tools.com/
中工作正常。
至少我知道我必须使用CipherMode.ECB
.
php - 使用有效密钥的 AES 256 ECB 解密返回奇怪/字符
我正在尝试使用函数 openssl_decrypt 在 PHP 中解密。
问题是返回的部分字符串是正确的,但部分是乱码
任何形式的帮助将不胜感激
首先,我虽然这是一个编码问题,所以我尝试使用此函数更改编码但没有运气
这是我正在使用的简单功能
这应该是预期的输出