Perl脚本使用此模块加密字符串http://search.cpan.org/~zefram/Crypt-Eksblowfish-0.009/lib/Crypt/Eksblowfish.pm
我需要用python编写解密函数。我知道钥匙和盐。我试图使用py-bcrypt,但似乎两个等价函数
$ciphertext=$cipher-
没有实施。
我该怎么办?有没有python模块可以帮助我解密字符串?
更新:完整的答案是Perl代码:
my $cipher = Crypt::EksBlowFish->new($cost, $salt, $key);
相当于这个Python代码:
bf = Eksblowfish()
bf.expandkey(salt, key)
for i in xrange(cost << 1):
bf.expandkey(0, key)
bf.expandkey(0, salt)
见此回购例如代码:https://github.com/erantapaa/python-bcrypt-tests
原始答复:
部分答案。。。
我假设您是这样调用这个Perl代码的:
use Crypt::EksBlowfish;
my $cipher = Crypt::EksBlowFish->new($cost, $salt, $key);
$encoded = $cipher->encrypt("some plaintext");
新的方法由lib/Crypt/eksblowfish中的C函数
setup_eksblowfish_ks()
实现。xs。这看起来与Python代码(link)中的expandKey
方法相同
主要的区别是
$cos
参数,它在Python方法中不存在。在Perl代码中,$成本
参数控制在设置了关键计划后执行此循环的次数:
for(count = 1U << cost; count--; ) {
for(j = 0; j != 2; j++) {
merge_key(j == 0 ? expanded_key : expanded_salt, ks);
munge_subkeys(ks);
}
}
Perl
-
bf.cipher(xl, xr, bf.ENCRYPT)
其中,xl和xr是分别表示左32位和右32位的整数。
所以食谱应该是这样的:
创建Python对象:bf=EksBlowfish()
- 初始化密钥计划:
bf。expandkey(salt,key)
- 使用成本参数(待定)进一步修改关键进度表
- 用
bf加密。密码(xl、xr、bf.加密)
问题内容: 我在PHP中有一个函数,可按如下所示加密文本: 如何在Python中解密这些值? 问题答案: 要解密这种加密形式,您将需要获得Rijndael版本。在这里可以找到一个。然后,您将需要模拟PHP Mcrypt模块中使用的键和文本填充。它们增加了填充文本和键的正确大小。他们使用的是256位块大小,并且您提供的密钥使用的密钥大小为128(如果您提供更大的密钥,则密钥大小可能会增加)。不幸的是
使用lib中的模块在python中解密和加密字符串。最简单的方法 现在我想解密我之前输入的字符串。。
我知道有几个与此相关的问题,但是大多数答案都提供了.NET4.0及以上版本的解决方案。对于我的用途,我必须以.NET3.5为目标。我想简单地加密和解密一个字符串存储在一个文件中,所讨论的文本不是敏感的用户/个人信息。
B'x\x85\x92\x9D\xE6\x0BJ\xFE\x9B(\x10G\x8E\x05\xC5\xF4\xCDA9\xC18\xB8\xF9VBMK\x16\xF8\xA3\xB6' 我试着用 和
问题内容: 我正在通过Apache和Node.js服务器之间的不安全连接发送数据。我需要在PHP中加密数据并在Node.js中解密。我花了2天的时间使它正常工作,但是我只设法使消息签名正常工作,没有加密。我尝试将AES128-CBC,AES256-CBC,DES,AES128,AES256作为算法传递,但是效果不佳。 我在PHP中尝试过: 在Node.js中: 而且除了错误的解密数据外,我还会得到
我感兴趣的是构建一个个人使用的小应用程序,它将使用JavaScript在客户端加密和解密信息。加密的信息将存储在服务器上的数据库中,但不会存储解密的版本。 它不一定要是超级duper安全的,但我想使用一个当前未中断的算法。 理想情况下我可以做一些 生成编码字符串,以及类似于 以后再解码。 到目前为止,我已经看到了以下内容:http://bitwiseshiftleft.github.io/sjcl