my $string_to_sign = 'POST&%2F&'.$ua->www_form_urlencode( $data ); my $key = '' . '&'; my $signature = hmac_sha1_base64($string_to_sign, $key); while (length($signature) % 4) { $signature .= '='; # padding } $data->{'Signature'} = $signature; printf "str = %s\n",$string_to_sign; printf "sig = %s\n",$signature;