我可能只是简单地看待这个问题,我不确定我想做的事情是否可行,但希望这可以节省大量时间,不必读入和读出不同的文件。
我想做的是使用反引号来接收 OpenSLL exe 的输出,它将加密字符串的某个部分。然后使用输出将其添加到另一个文件中。OpenSLL 会自动输出到一个文本文件。
例如:
Sample text: 1234, test text
ID- 1234,
Encrypted text- test text
届时将
ID- 1234,
Returned encrypted text- **&&**&&
And then be output to a file
1234, **&&**&&
我知道这可以通过读入和解析加密文本然后将输出附加到一个新文件来完成,但是当我希望对 100 或 1000 行执行此操作时,我希望避免这种情况,因为这将是很多额外的加工。
希望您能看到我的想法,如果有人可以提供帮助,将不胜感激。
#!/usr/bin/perl -w
use strict;
my $OpenSLLFile = "\\openssl.exe";
my $publickey = "public.pem";
my $privatekey = "private.pem";
my $inputtext = "output.txt";
my $outputtext = "abcd.txt";
my $compID = "1232";
my $encryptiontext = "openssl rsautl -encrypt -pubin -inkey $publickey -in $inputtext -out $outputtext";
my $decryptiontext = "openssl rsautl -decrypt -inkey $privatekey -in encrypted.txt -out plaintext.txt";
#Idea 1
#my $test = `$encryptiontext`;
#Idea 2
#my $test = system ("$encryptiontext");
#Idea 3
`$encryptiontext`
my $test = $?;
open (outputtest, '>>outputtest.txt') or die "$!";
my $a = "$compID, $test";
print outputtest "$a\n";
close(outputtest);