近来根据业务需求 在ERP中集成了微信支付,支付宝支付,开发支付宝支付时最大的障碍就是RSA签名,找了很多资料,最终用 下了个libeay32.pas  根据网上资料最终解决了问题

  1. function LoadPrivateKey(filename:string ): PEVP_PKEY;
  2. var
  3. bp : PBIO  ;
  4. A,pkey :PEVP_PKEY ;
  5. begin
  6. a:=nil;
  7. bp := BIO_new(BIO_s_file()) ;
  8. BIO_read_filename(bp, PChar(filename));
  9. pkey := PEM_read_bio_PrivateKey(bp, a, nil,NIL);
  10. BIO_free(bp);
  11. Result:= pkey;
  12. end;
  13. function Sign(filename,msg : String):string;
  14. var
  15. ctx : EVP_MD_CTX   ;
  16. buf_in:Pchar;
  17. m_len,outl :cardinal;
  18. pKey : PEVP_PKEY;
  19. m,buf_out:array   [0..1024]   of   char;
  20. p:array   [0..255]   of   char;
  21. i:Integer;
  22. begin
  23. buf_out:='';
  24. if filename='' then
  25. begin
  26. Result:='';
  27. Exit;
  28. end;
  29. pKey := LoadPrivateKey(filename);
  30. buf_in := PChar(msg);
  31. EVP_MD_CTX_init(@ctx);            //初始化
  32. EVP_SignInit(@ctx,EVP_sha1());    //将需要使用的摘要算法存入ctxl中
  33. EVP_SignUpdate(@ctx,buf_in,Length(buf_in));//存入编码值
  34. EVP_DigestFinal(@ctx,m,m_len);    //求取编码的长度为m_len摘要值存入m中
  35. rSA_sign(EVP_sha1()._type,m,m_len,buf_out,@outl,pkey.pkey.rsa); //64为SHA1的NID
  36. EVP_MD_CTX_cleanup(@ctx);
  37. Result:=EncodeString(StrPas(buf_out)) ;
  38. end;

QQ:24177885

http://blog.csdn.net/star1010/article/details/47809449

http://bbs.2ccc.com/topic.asp?topicid=514109

http://blog.csdn.net/wingleo/article/details/52067838

开发支付宝支付用DELPHI实现 RSA签名的更多相关文章

  1. Laravel 开发支付宝支付与提现转账问题小结

    由于项目需要,所以需要开发支付宝支付与微信支付,支付部分采用了 yansongda/pay    https://packagist.org/packages/yansongda/pay  https ...

  2. Delphi支付宝支付【支持SHA1WithRSA(RSA)和SHA256WithRSA(RSA2)签名与验签】

    作者QQ:(648437169) 点击下载➨Delphi支付宝支付             支付宝支付api文档 [Delphi支付宝支付]支持条码支付.扫码支付.交易查询.交易退款.退款查询.交易撤 ...

  3. IOS开发--支付宝支付

    前言:继上次<IOS开发--微信支付>以来,一直没有太多时间,更新总结详细支付这样的长篇大论,很抱歉.今天,推出支付宝支付的详细流程. 1.开始下载和查看支付宝支付的Demo. 我们直接进 ...

  4. java开发支付宝支付详细流程_demo的运行

    首先我要吐槽一下支付宝的开放平台简直就是一个迷宫,赞同的顶一下,下面我把要下载的地址给贴出来要不真不好找: 一.准备工作 1.签名工具下载 https://docs.open.alipay.com/2 ...

  5. iOS开发支付宝支付

    iOS支付宝支付(Alipay)详细接入流程以及项目中遇到的问题分析    浏览: 149 发布日期: 2016-10-19  分类: ios 最近在项目中接入了微信支付和支付宝支付,总的来说没有那么 ...

  6. iOS - AliPay 支付宝支付

    1.支付宝支付申请 支付宝支付官方签约集成指引 支付宝APP支付官方集成指引 蚂蚁金服开放平台 1.1 支付宝 APP 支付申请步骤 APP 支付:APP 支付是商户通过在移动端应用 APP 中集成开 ...

  7. 支付宝RSA签名之Delphi实现

    Delphi有个很大的问题就是,厂商的不作为(没有封装标准的Cipher类库),让大家自己造轮子. 今天的轮子就是RSA签名,由于Delphi没有封装Cipher类库,所以只的自己写了. 因为要在Fi ...

  8. DELPHI支付宝支付代码

    真实业务场景的考虑 按照支付宝或者微信支付的开发手册的说法,一个标准的客户端接入支付业务模型应该是这样的,我忽略时序图,只用文字描述: 用户登录客户端,选择商品,然后点击客户端支付. 客户端收集商品信 ...

  9. DELPHI移动端支付宝支付

    Delphi XE7 Android 应用接入支付宝SDK的方法 1      应用场景和准备工作: 采用XE系列开发的android apps. apps中需要集成支付宝的支付能力. 支付到指定的商 ...

随机推荐

  1. 【转】[c/c++ ]字节序与大小端转换--不错

    原文网址:http://blog.csdn.net/kuai0705/article/details/20841133 注明: 以下内容均为学习内容整理,记录,便于自己学习,并非完全意义上的自产,如有 ...

  2. MSSQL 生成有意义的PROC

    MSSQL 生成有意义的PROC --MSSQL  用PROC 生成有意义的单号:如WP200011101 GO/****** 对象:  Table [dbo].[tbl_SequenceNum]   ...

  3. HDU_1241——石油探索DFS

    Problem Description The GeoSurvComp geologic survey company is responsible for detecting underground ...

  4. Objective-C priority queue

    http://stackoverflow.com/questions/17684170/objective-c-priority-queue PriorityQueue.h // // Priorit ...

  5. Linux 之 rsyslog 系统日志转发(转载)

    一.rsyslog 介绍 ryslog 是一个快速处理收集系统日志的程序,提供了高性能.安全功能和模块化设计.rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍 ...

  6. 获取WebView加载HTML时网页中的内容

    main.xml如下: [html] view plaincopy <RelativeLayout xmlns:android="http://schemas.android.com/ ...

  7. Node.js 实现简单小说爬虫

    最近因为剧荒,老大追了爱奇艺的一部网剧,由丁墨的同名小说<美人为馅>改编,目前已经放出两季,虽然整部剧槽点满满,但是老大看得不亦乐乎,并且在看完第二季之后跟我要小说资源,直接要奔原著去看结 ...

  8. C语言之可重入函数 && 不可重入函数

    可重入函数 在 实时系统的设计中,经常会出现多个任务调用同一个函数的情况.如果这个函数不幸被设计成为不可重入的函数的话,那么不同任务调用这个函数时可能修改其他任 务调用这个函数的数据,从而导致不可预料 ...

  9. DataGrid( 数据表格) 组件[8]

    本节课重点了解 EasyUI 中 DataGrid(数据表格)组件的使用方法,这个组件依赖于Panel(面板).Resizeable(调整大小).LinkButton(按钮).Pageination( ...

  10. input事件以及中文输入法的处理

    在项目的开发过程中,相信大家都处理过监听用户输入的事情,一般我们会用到onkeyup.onkeydown.onkeypress.onchange.oninput事件,虽然都很熟悉了,但是还是有必要巩固 ...