ucloud api 签名加密perl版

ucloud api文档中对签名加密的方法实在看不明白,而且没有perl版本,特意写了一份供大家参考

use URI::Escape;
use utf8;
use Encode;
use AnyEvent::HTTP::LWP::UserAgent;
use Digest::SHA qw(sha1 sha1_hex sha1_base64);
sub ucloudApiConn {

    my ( $publicKey, $privateKey, $baseUrl, $paramData ) = @_;

#定义签名拼接字符串、http字符串
    my ( $signatureStr, $params );
    my $ua = LWP::UserAgent->new;
    for my $key ( sort keys %$paramData ) {
        $signatureStr .= $key;
        $signatureStr .= $paramData->{$key};

#将HTTP字符串转化uri方式
        push @{$params}, "$key=" . uri_escape_utf8( $paramData->{$key} );
    }

#拼接私钥
    $signatureStr .= $privateKey;

#使用sha1算法加密
    my $signatureKey = sha1_hex($signatureStr);

#拼接传递的url参数
    my $paramUrl = join "&", @$params;
    $paramUrl = $paramUrl . "&" . "Signature=$signatureKey";
    my $url = "$baseUrl/?" . $paramUrl;
    print $url, "\n";
    return $url;
}
时间: 2024-11-07 15:40:53

ucloud api 签名加密perl版的相关文章

3. 深入研究 UCenter API 之 加密与解密(转载)

1.  深入研究 UCenter API 之 开篇 (转载) 2.  深入研究 UCenter API 之 通讯原理(转载) 3.  深入研究 UCenter API 之 加密与解密(转载) 4.  深入研究 UCenter API 之 网站搭建(转载) 5.  深入研究 UCenter API 之 MVC 网站下的用法(转载) 6.  下载地址:UCenter API For .Net 在 CodePlex 上发布啦!(转载) AuthCode UCenter API 中的加密解密函数,被称为

安全优雅的RESTful API签名实现方案(手机端)

安全优雅的RESTful API签名实现方案 1.接口签名的必要性 在为第三方系统提供接口的时候,肯定要考虑接口数据的安全问题,比如数据是否被篡改,数据是否已经过时,数据是否可以重复提交等问题.其中我认为最终要的还是数据是否被篡改.在此分享一下我的关于接口签名的实践方案. 2.项目中签名方案痛点 每个接口有各自的签名方案,不统一,维护成本较高. 没有对消息实体进行签名,无法避免数据被篡改. 无法避免数据重复提交. 3.签名及验证流程 4.签名规则 线下分配appid和appsecret,针对不同

[Baidu Map]百度地图 JAVASCRIPT API V2.0 大众版 工具类

关键代码: /* *@description 百度地图 JAVASCRIPT API V2.0 大众版 工具类 *@author YanZhiwei *@see http://developer.baidu.com/map/reference/index.php *@email [email protected] */ (function () { map = {}; infoWindow = {}; BmapUtils = { CONSTANT: { DYNAMIC_CITY: "上海&quo

[Publish AAR To Maven] 使用GPG对文件进行签名加密

本篇文章隶属于 <使用 Gradle 发布 AAR 到 Maven 仓库>由于涉及东西较多,该文件还在起草中- ======================================================== 作者:qiujuer 博客:blog.csdn.net/qiujuer 网站:www.qiujuer.net 开源库:github.com/qiujuer/Genius-Android 转载请注明出处:http://blog.csdn.net/qiujuer/articl

Grizzly 2.3.17 API文档CHM版

Grizzly 2.3.17 API文档CHM版 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 本人制作了Grizzly框架最新的API文档CHM版,这个版本是根据2014.10.23日刚发布了2.3.17版制作,与大家共享.如图所示: 下载地址见:http://download.csdn.net/detail/chszs/8077307

推荐:安卓apk的签名加密

看到好的技术教程就想转载一下,不喜勿喷!谢谢配合,仅供菜鸟学习研究,不要做坏事哦\(^o^)/~ 1.加密apk. 这里我用的是爱加密  从project bin目录下copy apk文件上传到爱加密网站 加密 ,同时下载签名工具.可以参照  http://jingyan.baidu.com/article/925f8cb8151347c0dde0563d.html http://www.ijiami.cn/apply/Sign 2.生成签名apk的keystone 1)在eclipse中生成k

Js生成接口请求参数签名加密

js生成接口请求参数签名加密 定义规则:将所有参数字段按首字母排序, 拼接成key1 = value1 & key2 = value2的格式,再在末尾拼接上key = appSecret, 再做MD5加密生成sign,方法如下: function getSign(params, kAppKey, kAppSecret) { if (typeof params == "string") { return paramsStrSort(params); } else if (type

IOS苹果应用IPA重签名软件手机版(苹果重签名,企业签名,安卓苹果平台,时间控制)

软件简介 IOS苹果应用IPA重签名软件手机版,可以在安卓或者苹果手机上,苹果应用IPA文件重新签名,无需MAC苹果电脑和配置XCODE开发环境,便可以直接对IPA文件进行签名,签名在本地进行,不消耗流量,同时支持修改BundleID, 不受描述文件中的BundleID限制,使用简单方便. 本软件为安卓苹果手机版本,如果需要PC版本,请查看PC版打包软件 http://www.krpano.tech/archives/1026 交流群:692727447 最新版软件下载地址: 待发布,加群获取最

perl版阿里云签名公共参数方法

阿里云的签名验证真心蛋疼,比如时间戳做了二次utf8转码,文档中的签名结果与实际不相符等. package AliYun; use Moose; use Redis; use POSIX qw(strftime); use Data::Dumper; use Digest::HMAC_SHA1 qw(hmac_sha1 hmac_sha1_hex); use JSON; use URI::Escape; use LWP::UserAgent; #定义签名常量 has 'accessKeyId'