【发布时间】:2016-04-10 03:06:29
【问题描述】:
我有一个接受输入字符串的 Perl 脚本。该字符串包含$ 的签名。该字符串使用 openssl 加密并解密回来。 enc 和 dec 是下面代码 sn-p 中的加密和解密字符串。
#! /usr/bin/perl
use strict;
use warnings;
my $input = 'build:$6$n2cR7cY/$aKv6qQRWjYMIQIyAdTsw6nPtMzEZoqHziqyrL9sn/m29k5mkQjgcwZarA.8lAte6mmDGakipjetuCiH9YF2fF0:16736:0:99999:7:::';
print "Input: $input\n";
my $enc = `openssl enc -base64 -A <<< $input`;
print "Encrypted Output: $enc\n";
my $dec = `openssl enc -base64 -A -d <<< $enc`;
print "Decrypted Output: $dec\n";
输出:
# ./temp.pl
Input: build:$6$n2cR7cY/$aKv6qQRWjYMIQIyAdTsw6nPtMzEZoqHziqyrL9sn/m29k5mkQjgcwZarA.8lAte6mmDGakipjetuCiH9YF2fF0:16736:0:99999:7:::
Encrypted Output: YnVpbGQ6Ly9tMjlrNW1rUWpnY3daYXJBLjhsQXRlNm1tREdha2lwamV0dUNpSDlZRjJmRjA6MTY3MzY6MDo5OTk5OTo3Ojo6Cg==
Decrypted Output: build://m29k5mkQjgcwZarA.8lAte6mmDGakipjetuCiH9YF2fF0:16736:0:99999:7:::
我面临的问题是解密后的字符串与提供给加密的输入字符串不同。我看到$ 之后的所有字符都被删除了。我可以知道$ 在这里的样子吗?我怎样才能保留整个字符串?
【问题讨论】:
标签: perl encryption openssl dollar-sign