Aliyun

 view release on metacpan or  search on metacpan

lib/AuthV2.pm  view on Meta::CPAN

        return 0;
    }
    my $merge = Hash::Merge->new('LEFT_PRECEDENT');
    my $public_params = $self->_get_public_params();
    my $all_parms = $merge->merge($public_params, $input_parms);
    my ($signature_param, $url_param) = ('', '');
    map {
        #是否需要转utf8?
        #$_ = encode_utf8($_);
        $signature_param .= $_ . $all_parms->{$_};
        $url_param .= join('=', $_, uri_escape($all_parms->{$_}) . '&')
    } sort keys(%{$all_parms});
    #MD5加密后需要全部大写,否则签名会出错
    my $signature = uc(md5_hex(
        $self->{'secret_key'} . $signature_param . $self->{'secret_key'}
    ));
    return sprintf('%s?%ssign=%s', $self->{'aliyun_url'}, $url_param, $signature);
}
1;

__DATA__



( run in 0.464 second using v1.01-cache-2.11-cpan-c21f80fb71c )