资源简介
前一阵做过微信企业支付到银行卡,也研究了好多时间,踩了很多坑,上传希望帮没做过的解决不必要的弯路跟坑;测试代码跟引用bll及说明文档
代码片段和文件信息
using System.Web;
using System.Text;
using System.Security.Cryptography;
using System.IO;
using System.Net;
using System;
using System.Collections.Generic;
using System.xml;
using System.Net.Security;
using System.Security.Authentication;
using System.Security.Cryptography.X509Certificates;
using WxPayAPI;
using System.xml.Linq;
using Org.BouncyCastle.Crypto.Parameters;
using Org.BouncyCastle.Security;
using Org.BouncyCastle.Crypto;
using shop.App_Code;
namespace RSATestT
{
public class RSATest
{
///
/// 获取公匙
///
///
public string getkey()
{
WxPayData data = new WxPayData();
WxPayData result = Micropay(data);
XElement root = XElement.Parse(result.Toxml());
string pub_key = root.Element(“pub_key“).Value;
string CurDir = System.AppDomain.CurrentDomain.baseDirectory; //设置当前目录
if (System.IO.Directory.Exists(CurDir))
{ System.IO.Directory.CreateDirectory(CurDir); }//该路径不存在时,在当前文件目录下创建文件夹“导出..“
//不存在该文件时先创建
String filePath = CurDir + “RSA“ + “.pem“;
System.IO.StreamWriter file1 = new System.IO.StreamWriter(filePath false); //文件已覆盖方式添加内容
file1.Write(pub_key);//保存数据到文件
file1.Close(); //关闭文件
file1.Dispose();
return root.ToString();
}
///
/// RSA加密
///
///
///
///
public static string EncryptCSharp(string data string encoding = “UTF-8“)
{
RsaKeyParameters pubkey;
using (var sr = new StreamReader(“F:\\RSAT.pem“))
{
var pemReader = new Org.BouncyCastle.OpenSsl.PemReader(sr);
pubkey = (RsaKeyParameters)pemReader.Readobject();
}
var cipher = (BufferedAsymmetricBlockCipher)CipherUtilities.GetCipher(“RSA/ECB/OAEPWITHSHA-1ANDMGF1PADDING“);
cipher.Init(true pubkey);
var message = Encoding.UTF8.GetBytes(data);
var output = Encrypt(message cipher);
return Convert.Tobase64String(output);
}
public static byte[] Encrypt(byte[] message BufferedAsymmetricBlockCipher cipher)
{
using (var buffer = new MemoryStream())
{
using (var transform = new BufferedCipherTransform(cipher))
using (var stream = new CryptoStream(buffer transform CryptoStreamMode.Write))
using (var messageStream = new MemoryStream(message))
messageStream.CopyTo(stream);
return buffer.ToArray();
}
}
///
/// RSA公钥格式转换,
///
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2018-03-31 09:05 微信企业付款到银行卡c#\
文件 4745 2018-03-31 09:03 微信企业付款到银行卡c#\accounts.cs
文件 2236416 2015-12-28 21:38 微信企业付款到银行卡c#\BouncyCastle.Crypto.dll
文件 1617 2018-03-01 15:49 微信企业付款到银行卡c#\BufferedCipherTransform.cs
文件 1016 2018-03-01 14:53 微信企业付款到银行卡c#\ceshi.html
文件 101 2018-02-06 09:03 微信企业付款到银行卡c#\ceshipiliang.ashx
文件 4603 2018-03-01 16:23 微信企业付款到银行卡c#\ceshipiliang.ashx.cs
文件 262 2018-03-31 09:07 微信企业付款到银行卡c#\说明.txt
- 上一篇:个人收支管理
- 下一篇:double_car.csv
评论
共有 条评论