我不需要在Perl中使用如此强大的crypt方法,这将在Delphi7中兼容解密。
在Perl中加密某些字符串值,http来自Delphi7。
如果可能的话,我更喜欢基于标准库/模块的简单解决方案。
答案 0 :(得分:3)
不是100%肯定你在寻找什么。假设我有一个字符串,以及 swordfish 的密码,我用它来加密字符串。您希望能够使用相同的密码解密字符串。这是对的吗?
标准Perl crypt
命令是 哈希 - 单向加密系统。也就是说,它会生成一个可用于加密字符串的哈希值,但即使您知道密码也无法解密该字符串。它主要用于存储哈希而不是密码。这样,如果有人输入新密码,您可以对其进行加密并根据哈希验证它。
你想要的是一个完整的加密/解密算法。像Blowfish这样的东西,一个开源的强硬密码,如此广泛实现。这样,您可能会在Delphi和Perl中找到匹配的加密/解密模块。幸运的是,Perl有一个名为Crypt::Blowfish的模块,允许您使用Blowfish进行加密和解密。我看到了各种加密/解密模块的open source页面,其中包括一个Blowfish模块。
如果这不起作用,您可以尝试DES。同样,开源Delphi加密库和Perl具有可以进行DES加密/解密的模块。 Perl的模块是Crypt::DES。