Ruby 中的 DES ECB

发布于 2024-11-18 06:57:11 字数 382 浏览 2 评论 0原文

我正在实现与银行系统的交互。我需要在 ECB 模式下使用 DES schipher。

我的密钥是“12345678”,消息是十六进制的[0xF2, 0xF3, 0x2D, 0x1A, 0xC0, 0xFD, 0x23, 0xB4]。我需要将密钥转换为十六进制数组,然后以ecb模式进行sha加密。结果应该是 [0x3E, 0x90, 0x5F, 0xB7, 0xC5, 0xA3, 0x02, 0xB1]

我正在使用

OpenSSL::Cipher::Cipher.new("des-ecb")

,对吗?获得满意结果的最佳方法是什么。

我尝试了很多方法,但都迷失了。谢谢你救了我:)

I am implementing interaction with bank system. I need to use DES schipher in ECB mode.

My key is "12345678" and message is [0xF2, 0xF3, 0x2D, 0x1A, 0xC0, 0xFD, 0x23, 0xB4] hexadecimaly. I need to convert key to hexadecimal array and then perform sha encryption in ecb mode. Result should be [0x3E, 0x90, 0x5F, 0xB7, 0xC5, 0xA3, 0x02, 0xB1]

I am using

OpenSSL::Cipher::Cipher.new("des-ecb")

, is it right? What is the best way to get pleased result.

I tried many ways and am lost. Thank you for saving me :)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

听你说爱我 2024-11-25 06:57:11

正确的方法,如何进行编码是:

cipher = OpenSSL::Cipher::Cipher.new("des-ecb")
cipher.encrypt
cipher.key = key
output = cipher.update hash

以前,我使用了 cipher.final 的输出

The right way, how to do the encoding was:

cipher = OpenSSL::Cipher::Cipher.new("des-ecb")
cipher.encrypt
cipher.key = key
output = cipher.update hash

Previously, I have used output from cipher.final

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文