Yapmam gereken görevlerden biri bana PHP'nin yanından şey şifrelemek ve sonra Perl ile şifresini gerekiyor.
Benim ihtiyaçları için uygun olduğu ortaya çıktı ben buldum PEAR modülü Crypt_CBC oldu. Ancak, bugüne kadar doğru sonuçlar elde elde etmek yapamaz oldum gibi, orada yapıyorum yanlış bir şey olmalı ya da anlamıyorum.
Benim gerçek projenin kod uygulamadan önce tüm denemek istedim aşağıda kod alıntılar, özellikle test amaçlıdır.
Öncelikle, burada benim PHP kodu ben bir $ metin parametresi (yani cryptTest.php? Text = merhaba) geçirilir olursa olsun şifrelemek hangi ile, bu
require_once('Crypt/CBC.php');
$key = "8326554161EB30EFBC6BF34CC3C832E7CF8135C1999603D4022C031FAEE";
$cipher = new Crypt_CBC($key, 'BLOWFISH');
$encrypted = $cipher->encrypt($text);
if (PEAR::isError($encrypted)) {
echo $encrypted->getMessage();
} else {
echo "ENCRYPTED STRING: " . $encrypted;
}
Bu noktadan itibaren, (benim tarayıcınızın çıktıda) Bu komut yankılandı ne olursa olsun kopya ve aşağıda benim PERL script $ şifreli değişkene yapıştırın:
use Crypt::CBC;
$encrypted = "RandomIVá´bp3Ó¯làK”Á(Û";
my $key = "8326554161EB30EFBC6BF34CC3C832E7CF8135C1999603D4022C031FAEE";
my $vector = "\0\0\0\0\0\0\0\0";
my $cipher = Crypt::CBC->new(
{'key' =>$key,
'cipher' => 'Blowfish',
'iv' => $vector,
'prepend_iv' => 0
});
my $plaintext = $cipher->decrypt($encrypted);
print $plaintext;
Perl tarafında ve böyle IV belirterek değil gibi, çok şeyler çalışıyorum, ama bana hata veriyor tuttu. Bu form ben hiç bir çıktı alıyorum hangi ile sadece bir tanesidir.
Orijinal $ metin ile yukarıdaki yürütülmesi için sonuç = "merhaba":? Pñšîî7 àÐŽZÊ & Rhello
Ne bulmak benim orijinal içeriği doğru şekilde deşifre olmasıdır, ama ben istiyorum bölümünden önce bok-karakter bir sürü eklemeden.
Herkes yanlış ne yapıyorum bana işaret edebilir ve nasıl çözebilirsiniz?
Bir demet teşekkür.