银联手机支付(.Net Csharp),3DES加密解密,RSA加密解密,RSA私钥加密公钥解密,.Net RSA 3DES C#

AI权益加码!Claude Code、Cursor等20+工具免费用! 购周边限时加赠Coding Plan Lite,畅享主流AI工具!学习进阶更高效! 阅读详情

前段时间做的银联支付,折腾了好久,拼凑的一些代码,有需要的朋友可以参考,本人.Net新手,不保证准确性!

这个银联手机支付没有SDK提供,技术支持也没有.Net的,真心不好搞!

RSA加解密,这里有个麻烦就是私钥加密/公钥解密,(一般是公钥加密/私钥解密);

3DES加解密,这里有个问题是所用的密钥长度不一样,银联向我们发送报文时密钥用32字节长度的,我们.Net最多用24字节,办法是直接取密钥前24字节就行了;

 

下面是RSA算法的加解密,用到一个BigInteger类(http://www.codeproject.com/csharp/biginteger.asp):

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Security.Cryptography.X509Certificates;
using System.Security.Cryptography;

namespace Kad.ThridParty.ChinaPayWap
{
    /// <summary>
    /// 非对称RSA加解密,私钥加密/公钥解密
    /// 仅用于银联Wap支付报文收发
    /// By : EnVon(E旺) 2013-08-20
    /// </summary>
    internal class RSAHelper
    {

        /// <summary>
        /// RSA加密(用私钥加密哟)
        /// </summary>
        /// <param name="key">私钥</param>
        /// <param name="data">待加密的数据</param>
        /// <returns></returns>
        public static byte[] Encrypt(String key, byte[] data)
        {
            //由密钥xml取得RSA对象
            RSACryptoServiceProvider rsa = new RSACryptoServiceProvider();
            rsa.FromXmlString(key);
            //取得加密时使用的2个参数
            RSAParameters par = rsa.ExportParameters(true);
            BigInteger mod = new BigInteger(par.Modulus);
            BigInteger ep = new BigInteger(par.D);
            //计算填充长度
            int mLen = par.Modulus.Length;
            int fLen = mLen - data.Length - 3;
            //组建bytes
            List<byte> lis = new List<byte>();
            lis.Add(0x00);
            lis.Add(0x01);//兼容java
            for (int i = 0; i < fLen; i++) lis.Add(0xff);
            lis.Add(0x00);
            lis.AddRange(data);
            byte[] bytes = lis.ToArray();
            //加密就这么简单?
            BigInteger m = new BigInteger(bytes);
            BigInteger c = m.modPow
云闪付TN参数跨平台跳转链接生成与二维码集成实战 本文详细解析云闪付TN参数在iOS和Android平台的跳转链接生成技术,涵盖iOS端3DES加密流程与Android端Base64编码方案。通过实战案例展示如何构建智能设备判别服务,并集成二维码生成工具,为开发者提供跨平台支付跳转的完整解决方案,提升支付体验与开发效率。 阅读详情

相关推荐

支付协议逆向到二维码生成:一次跨平台支付跳转的技术探险

本文深入探讨了如何通过逆向工程解析云闪付支付协议,实现iOS与Android平台的支付跳转功能。重点分析了tn参数处理、3DES加密及Base64编码差异,并提供了二维码生成与跨平台适配的完整解决方案,助力开发者构建稳定高效的支付集成系统。

vulkan6gpu的博客 1406

c#银联支付接口获取二维码支付

提供c#源码,接口地址,appid,appkey需要自行提供,银联付款,查账等支持微信,支付支付,源码有接口的话可调试

银联支付sdk乱塞全局加解密算法,导致的支付加解密类乱码的问题

原文及更多文章请见个人博客:http://heartlifes.com 背景:1.现在本的支付wap支付需要到支付宝后台获取一个token,该字段是加密返回的,需要调用RSA类进行解密 2.银联APP支付是直接给sdk包,然后调用sdk包做tn获取的,内部调用是个黑盒,开发是看不到的现象:1.在不调用银联APP SDK进行初始化的情况下,支付WAP支付整体流程都是正确的,token能拿到,也能正

heartlifes 1215

云闪付tn转paydata[可运行源码]

本文介绍了云闪付中tn转paydata的方法,支持iOS和Android平台。iOS平台使用3DES加密方式,提供了具体的paydata示例和调用链接。Android平台则采用base64编码方式,同样提供了在线测试链接和调用方法。此外,还提供了交流联系方式,方便用户进一步沟通和解决问题。内容简洁明了,适合需要快速实现云闪付tn转paydata功能的开发者参考。

C# 微信支付宝 Winform 开发支付宝微信二维码 付款功能(扫码付,条码付,退款、查询、撤销)

更具金额生成相对应的二维码 , 成品 ,DEMO,与实际环境!访问密码:payshun。

u012861262的博客 6319

C#微信、支付宝线下扫码支付源码

本文介绍了基于C#开发的微信和支付宝线下支付解决方案,通过调用PayApiFun.dll动态库实现多种支付功能。系统支持微信Native支付二维码生成、付款码支付、订单查询和关闭订单等功能;同时支持支付宝扫码支付、付款码支付、订单查询和撤销订单等功能。开发者只需配置微信公众号、商户号、API密钥或支付宝APPID等基本信息即可快速集成支付功能。代码提供了详细的函数声明和调用示例,包括支付状态处理和错误返回信息解析。该方案无需域名,适合线下支付场景,支付二维码有效期为5分钟,支持轮询查询支付结果。

6290

云闪付 tn 转 paydata,支持 iOS&Android

该摘要涉及云闪付支付数据处理,包含iOS系统3DES加密的paydata参数(如uppaywallet链接)以及Android的Base64编码方式。文中提供了在线测试接口地址(http://172.245.226.19:5000/gen),可通过传入tn参数生成数据。

yyds970108的博客 1998

Java实现3DES加密--及ANSI X9.8 Format标准 PIN PAN获取PIN BlOCK

1, 采用银联ANSIX9.8标准PINxorPAN获取PINBlOCK 2, 采用3Des进行加密 参考: des和3Des加密算法实现 要点:因为3DES是对称加密算法,key是24位,当只有16位时,后8位取key的前8位 ANSIX9.8标准PINxorPAN获取PINBlOCK (1) ANSI X9.8 Format(不带主账号信息) PI...

weixin_30924087的博客 945

云闪付tn转换iOS和Android跳转链接

稍微复杂一点就是处理fn转ios的paydata了,通过文档可以知道加密方式和支付宝拉起H5是一样的采用的是3DES模式,如果是采用这个加密方法,位数160位明显不大好解开,再进行多平台多次抓包进行分析可以把iOS,分解成。self.font_path = self._get_font_path() # 获取字体路径。self.hint_text_size = hint_text_size # 新增属性。self.hint_bg_color = hint_bg_color # 新增属性。

2501_92268644的博客 5547

iOS POS之3DES加密

最近在做支付类APP,遇到了很多以前没遇到过的东西。现在我会用这系列文章来记录我所遇到的问题。 首先就是在组8583报文时用到的3DES加密。8583报文是以字节为单位的所以可能3DES加密会有稍许不同。 我自己搞这个问题也搞了两天,最后还是拜托一个高手给搞定的。 我在网上也搜了很多资料最后发现有一帖子很接近答案。链接如下: http://www.cocoachina.co

iOS 刘通超 1823

C# 银联支付系统源码与集成指南

本小节将简单介绍几种常见的加密算法。AES:AES是目前广泛使用的对称加密算法之一。它支持128、192和256位三种长度的密钥。由于其高效性和安全性,AES已成为许多国家政府和金融行业的标准。RSARSA是最流行的非对称加密算法。它不仅可以用于加密数据,还可用于数字签名。RSA的安全性建立在大数分解的难题上。SHA:安全散列算法(SHA)主要用于确保数据完整性,生成数据的哈希值。它不是加密算法,但对数据验证非常关键。

weixin_42600407的博客 525

苹果端,通过云闪付,获取到加密的uppaywallet://

小程序跳转zf

qq_18747783的博客 2308

银联接口C#

银联支付: ChinaPay的会员商户接入支付平台,以方便商户开展网上支付交易。 持卡人从商户网站中生成订单信息,通过公共支付交易平台中的支付网关子系统进行支付的过程,其交易流程包括订单确认、支付处理、支付完成三个部分,具体流程说明如下: 【流程一】订单确认 1.    持卡人浏览商户网站,选择支付项目,生成订单信息 2. 持卡人确认订单信息,开始支付 【流程二

CHEN504390172的专栏 5607

Go语言银联8583报文解析库,支持联小额免密付和银商聚合支付

很早之前就整过一个Go语言的8583解析库,不过是用来测试的。 最近正好接着机会,整合了银联小额双免交易和银商的聚合支付交易通道,这可以是最简单的8583报文解析库了,没有之一。 银联双免支付通道支持银行卡免密和云闪付二维码交易,银商的聚合支付交易通道支持支付宝付款码,微信付款码和云闪付二维码。 如果配置了正确的秘钥参数,可直接用来扣费。 附代码实现和使用demo: /** 银联8583报文, 包含签到,云闪付二维码交易,银联卡小额免密交易 Author:yangyongzhen QQ:534

猫哥 的沉淀、积累、总结。天天学习,好好向上...c/c++,嵌入式 linux,Android,HarmonyOS,AIOT) 1328

云闪付tn转链接 tn转url拉起云闪付支付 总算搞起来了

我们根据官网api文档可以看到tn要求说明tn是用于在后续使用中唯一标识的21位定长数字串,纯数字。所以,大家看到的512位长的tn那不是,那是rsa加密的结果。当然也可以还原出21长的tn。

一个自学不成材的程序员 5179

unionpay 云闪付小程序开发包

unionpay 云闪付小程序开发包 银联云闪付小程序非官方开发包,这可能是第一个支持composer导入的云闪付小程序开发包,小程序后端相关接口与支付相关接口已全部更新完毕。 码云地址 https://gitee.com/leapy/unionpay Github地址 https://github.com/ileapy/unionpay [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1kWIpuib-1629625990055)(https://gitee.com/leap

里派 3245

C#常用加密解密方法(DES加密解密

本节主要分享DES加密解密:DES,全称Data Encryption Standard,是一种对称加密算法。由于其安全性比较高(有限时间内,没有一种加密方法可以说是100%安全),很可能是最广泛的密钥系统(我们公司也在用,估计你们也有在用....),唯一一种方法可以破解该算法,那就是穷举法。DES(Data Encryption Standard)和TripleDES是对称加密的两种实现。DES和TripleDES基本算法一致,只是TripleDES算法提供的key位数更多,加密可靠性更高。

MarcoPro的博客 9143

C#之DES加密解密

DES算法是一种最通用的对称算法,因为算法本身是公开的,所以其安全性在于的安全性。基于的算法通常有两类:对称算法和公开算法。对称算法的对称性体现在加能够从解推算出来,反之亦然。在大多数对称算法中,加解密的是相同的,DES就是这样。可见,对称算法的加解都是保密的。而公开算法的加是公开的,解是保密的。

AI的博客 3916

极域电子教室-利用程序-轻松入侵全班同学电脑

前段时间参加了培训,上课的时候用的是“极域电子教室 V6 2007 豪华”; 这个系统分教师端和学生端的,我们是学生,装的是学生端;出于好奇,我自己装了个教师端玩一玩。 教师端果然强大呀,可用它来入侵其它同学的电脑了,因此开发了利用程序。

EnVon的专栏 6万+
上一篇: JS贪吃蛇游戏
下一篇: 天天爱消除辅助-按键精灵手机安卓版-天天爱消除辅助Android源码-按键精灵脚本
envon123
博客等级 码龄18年 169粉丝 53原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值