python 使用联动优势支付接口的sign与verify
直接上代码
if options.umpay_private_key is not None and len(options.umpay_private_key) > 0:
try:
with open(options.umpay_private_key) as keyfile:
keydata = keyfile.read()
rsakey = RSA.importKey(keydata)
_umpay_signer = PKCS1_v1_5.new(rsakey)
#测试代码
#digest = SHA.new()
#sign_data ="amount=1&amt_type=RMB&charset=UTF-8&expire_time=30&goods_inf=充值支付房租&mer_date=20131009&mer_id=6379¬ify_url=http://wap.zufangbao.cn/netpay/ldpaycallback.htm&order_id=111784&ret_url=http://wap.zufangbao.cn/netpay/ldpayreceive.htm&service=pay_req&version=4.0"
#digest.update(sign_data.encode("gbk"))
#sign = _umpay_signer.sign(digest)
#ret = base64.b64encode(sign)
#print ret
except:
log.fatal("load umpay private key failed. %s" % str(sys.exc_info()))
_umpay_verifier = None #联动优势验证器
if options.umpay_public_key is not None and len(options.umpay_public_key) > 0:
try:
with open(options.umpay_public_key) as keyfile:
keydata = keyfile.read()
from Crypto.Util.asn1 import DerSequence
cert = DerSequence()
cert.decode(keydata)
tbsCertificate = DerSequence()
tbsCertificate.decode(cert[0])
subjectPublicKeyInfo = tbsCertificate[6]
# Initialize RSA key
rsakey = RSA.importKey(subjectPublicKeyInfo)
_umpay_verifier = PKCS1_v1_5.new(rsakey)
#测试代码
#digest = SHA.new()
#sign = "nyTGvSfe8AaBj2WHs4vYhr32bBvMS1UdXuSjWwmvqy4GYgpfNuKlkiadsOhxSGv6SzLfPNp+uYHQnWIvcRe8cofzPiaYHgXQn8r/hxljeCq3/L9VHAASMJOjRvHoVDNh1QbuJbWoB1wx+e+2NC4ub1RbEaJbutvHfokUIZxaEzg="
#sign_decode = base64.b64decode(sign)
#verify_data = "mer_date=20131009&mer_id=6379&order_id=111790&ret_code=0000&ret_msg=交易成功&token=125880604943823&trade_no=1310091656145373&trade_state=WAIT_BUYER_PAY&version=4.0"
#digest.update(verify_data.encode("gbk"))
#ret = _umpay_verifier.verify(digest, sign_decode)
#print ret
except:
print str(sys.exc_info())
log.fatal("load umpay public key failed. %s" % str(sys.exc_info()))
python 使用联动优势支付接口的sign与verify的更多相关文章
- python调用支付宝支付接口
python调用支付宝支付接口详细示例—附带Django demo代码 项目演示: 一.输入金额 二.跳转到支付宝付款 三.支付成功 四.跳转回自己网站 在使用支付宝接口的前期准备: 1.支付宝公 ...
- python调用支付宝支付接口详细示例—附带Django demo代码
项目演示: 一.输入金额 二.跳转到支付宝付款 三.支付成功 四.跳转回自己网站 在使用支付宝接口的前期准备: 1.支付宝公钥 2.应用公钥 3.应用私钥 4.APPID 5.Django 1.11. ...
- Python支付接口汇总大全(包含微信、支付宝等)
微信接口 wzhifuSDK- 由微信支付SDK 官方PHP Demo移植而来,v3.37下载地址 weixin_pay- 是一个简单的微信支付的接口 weixin_pay- 微信支付接口(V3.3. ...
- 第四百零三节,python网站在线支付,支付宝接口集成与远程调试,
第四百零三节,python网站在线支付,支付宝接口集成与远程调试, windows系统安装Python虚拟环境 首先保证你的系统已经安装好了Python 安装virtualenv C:\WINDOWS ...
- 玩蛇记之用python实现易宝快速支付接口
玩蛇记之用python实现易宝快速支付接口 现在很多这种快速支付的通道,易宝支持的通道算是很全面的,正好最近需要集成易宝的支付通道到平台中,所以写一贴来记录一下,顺便鄙视一下国内的支付平台,api的支 ...
- Python支付宝在线支付API
一.蚂蚁金服开发平台申请测试账号 a. 登陆蚂蚁金服开放平台https://open.alipay.com/platform/manageHome.htm,在“开发中心”—“研发服务”下拉处选择沙箱作 ...
- python开发微信支付学习记录(转)
前言 微信支付是由微信及财付通联合推出的移动支付创新产品.如今,随着微信支付的全面开放,相关需求也越来越多,很多开发人员进行微信支付开发及商家申请微信支付时,面临着诸多疑惑. 要想开发顺利进行,首先要 ...
- python语言(六)mock接口开发、发邮件、写日志、新Excel操作
一.urllib模块 urllib模块是一个标准模块,直接import urllib即可,在python3里面只有urllib模块,在python2里面有urllib模块和urllib2模块. url ...
- Python实现微信支付(三种方式)
Python实现微信支付(三种方式) 关注公众号"轻松学编程"了解更多. 如果需要python SDk源码,可以加我微信[1257309054] 在文末有二维码. 一.准备环境 1 ...
随机推荐
- Windows操作 - Photoshop为图片添加透明立体水印
原文地址:http://design.yesky.com/photoshop/252/2427752.shtml 本文我们介绍用Photoshop为图片添加透明立体水印的方法和技巧. 原图: 打开原图 ...
- C# Windows Forms 事件处理顺序
事件引发的顺序对某些Windows 窗体应用来说十分重要.当某些事件需要特别处理时(如重绘窗体的某些部分),必须知道事件在运行时的确切引发顺序.下面就应用程序和控件的生命周期中的几个重要阶段的事件顺序 ...
- svn老鸟转用git必须理解的概念
不都是SCM代码管理嘛,有很大区别么?很多svn老鸟都是抱着这样的心态去学习git,然后无一幸免地陷入“查阅过很多资料,依然掌握不好”的困境,至少我们团队是这样的. 网上的资料确实已经很多了,却没有把 ...
- java.lang.Exception: Socket bind failed: [730013] An attempt was made to acc
在CMD命令行中启动运行startup.bat,启运程序总是闪退,查看日志发现如下错误: 26-Jan-2016 18:12:34.463 SEVERE [main] org.apache.coyot ...
- openGL 提升渲染性能 之 顶点数组 VBO IBO VAO
使用openGL图形库绘制,都需要通过openGL接口向图像显卡提交顶点数据,显卡根据提交的数据绘制出相应的图形. openGL绘制方式有:直接模式,显示列表,顶点数组,顶点索引. 直接模式:最简单, ...
- 改变ListCtrl某行的背景色或者字体颜色
大家也许熟悉WM_NOTIFY,控件通过WM_NOTIFY向父窗口发送消息.在WM_NOTIFY消息体中,部分控件会发送NM_CUSTOMDRAW告诉父窗口自己需要绘图. 也可以反射NM_CUSTOM ...
- flask页面操作gpn接口
https://wizardforcel.gitbooks.io/flask-extension-docs/content http://cabeza.cn/blog/2016/02/28/datat ...
- 使用ffmpeg快速生成视频截图
1 ffmpeg -i input.mkv -ss 00:10:00 -f image2 output.jpg 但是这个命令会花费相当长的时间. 对一个清晰的或者较大的视频文件进行操作, 会花费半分钟 ...
- Android IOS WebRTC 音视频开发总结(十三)-- ice原理
以前在做一个视频监控项目的时候,刚开始客户没提到要支持P2P,因为服务端是我们自己写的,为了便于处理一些逻辑,全部采用转发的方式,后来客户要求支持P2P,没办法了,后来自己部署了一个STUN服务器(不 ...
- PHP 按二维数组的键值排序
/** * 按二维数组的键值排序 * @param unknown $array 二维数组 * @param unknown $key 二维数组的键值 * @param string $order 升 ...