gpt4 book ai didi

perl - 在 "plain"perl 中模拟 openssl rc4-40

转载 作者:行者123 更新时间:2023-12-01 05:17:27 26 4
gpt4 key购买 nike

我已经尝试了几个小时没有太多运气,尽管我怀疑这只是我很密集。

首先是设置,这样你就不会试图说服我了。 :P 我有一个盒子,它对它的 openssl lib 有限制,这样它就不会在 40 位的加密中执行 rc4。我有一个使用 rc4-40 的遗留功能,我不能随意将加密升级到更难的位级别,因为它与我无法控制或授权的其他软件对话。

因此,受限于 40 位 RC4 并且不能使用 openssl。任何不回退到 openssl 的 XS/perl 都应该很棒。我一直在玩几个模块,但没有什么是开箱即用的,而且我不擅长这种事情,所以看不到如何自己修改/monkey-patch/fork key/bit 处理代码。

该代码目前正在执行此操作-

echo -ne "OHAI" |  openssl rc4-40 -d -nosalt -k  KeyPhrase0123456 | xxd
0000000: cbf7 71b2 ..q.

更换它的天真尝试是失败的-
perl -MCrypt::RC4 -e 'print RC4("KeyPhrase0123456", "OHAI")' | xxd
0000000: bc14 808b ....

所以我需要一些版本的 perl 代码来匹配 openssl 调用。我一直在尝试所有可以在 CPAN 上找到的合理的东西(c.f.,不是基于 openssl),包括 Crypt::RC4 ( ::XS ) 和 Net::SSH::Perl::Cipher::RC4 。谷歌让我找到了 Authen::SASL 中一些明显相关和改编的代码——除了它似乎支持使用 rc4-40 进行身份验证之外,它太令人困惑了。我没有尝试 Crypt::GCrypt 虽然它看起来很有希望,但我看不到正确的用法。受阻。

这—— RC4 doesn't work correctly with openssl command?
- 很有启发性,但最终没有帮助我处理关键/短语或设置。

感谢您的关注!

更新:在阅读了更多关于 FIPS mode 的内容后,我认为 Crypt::GCrypt 即使我知道调用是否正确,也将无法正常工作。

最佳答案

echo -ne "OHAI" |  openssl rc4-40 -d  -nosalt -k KeyPhrase0123456 | xxd
0000000: cbf7 71b2 ..q.

perl -MCrypt::RC4 -MDigest::MD5 -e 'print RC4(substr(Digest::MD5::md5("KeyPhrase0123456"),0,5), "OHAI")' | xxd
0000000: cbf7 71b2 ..q.

substr(Digest::MD5::md5("KeyPhrase0123456"),0,5) - 5*8=40bit

关于perl - 在 "plain"perl 中模拟 openssl rc4-40,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18884449/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com