当前位置: 首页 > news >正文

上海建筑设计院领导班子成员聊城优化seo

上海建筑设计院领导班子成员,聊城优化seo,双栏wordpress,网站建设与管理结课论文感谢、感谢、感谢大佬的分享,https://github.com/ZYHPRO/RSAEncryptAndDecode 目录 1. 前言 2. 准备工作 3. Demo注意事项说明 3.1 公钥、私钥文本格式 3.2 回车键的影响 3.3 中文加解密说明 4. 结语 1. 前言 最近工作上安排了一个项目,与工商银行之…

 感谢、感谢、感谢大佬的分享,https://github.com/ZYHPRO/RSAEncryptAndDecode

目录

1. 前言

2. 准备工作

 3. Demo注意事项说明

      3.1 公钥、私钥文本格式

      3.2 回车键的影响

      3.3 中文加解密说明

4. 结语


1. 前言

        最近工作上安排了一个项目,与工商银行之间做转账,我看其中涉及到了RSA签名加解密,由于公司写接口都用用Delphi6,老古董了,这RSA算法不好搞。

之前我也自己喜欢收集一些加密算法封装在dll,发现没有RSA这块,看来要自己来搞了。

//MD5 加密 不支持逆向解密
function dll_md5_encrypt(iLen, iUpper: integer; sIn: PWideChar; var sOut: PWideChar): Byte; stdcall;
//BASE64 加密
function dll_base64_encrypt(sIn: PWideChar; var sOut: PWideChar): Byte; stdcall;
//BASE64 解密
function dll_base64_decrypt(sIn: PWideChar; var sOut: PWideChar): Byte; stdcall;
//ECB 加密
function dll_aes_ecb_encrypt(sIn, skey: PWideChar; var sOut: PWideChar): Byte; stdcall;
//ECB 解密
function dll_aes_ecb_decrypt(sIn, skey: PWideChar; var sOut: PWideChar): Byte; stdcall;
//CBC 加密
function dll_aes_cbc_encrypt(sIn, skey, siv: PWideChar; var sOut: PWideChar): Byte; stdcall;
//CBC 解密
function dll_aes_cbc_decrypt(sIn, skey, siv: PWideChar; var sOut: PWideChar): Byte; stdcall;

2. 准备工作

        2.1 app应用公私钥一份。

        

        2.2 开发工具

        Delphi XE 10.1 Berlin 这个是我家里电脑一直安装有这个。公司没用。

        2.3. 下载源码

        这是大佬的源码 感谢分享 https://github.com/ZYHPRO/RSAEncryptAndDecode

        # RSA via OpenSSL libeay32
        delphi2010以后版本,使用openssl中的libeay32.dll
        提供基于私钥/公钥的:

        1、RSA加密解密

        2、SHA1/SHA256/SHA512摘要运算,

        3、Sha1withRSA/Sha256withRSA/Sha512withRSA签名, 其中签名可用于JWT规范

       

        我用的XE10.1版本高了,后续处理了下代码,与大家借鉴下。

 3. Demo注意事项说明

      3.1 公钥、私钥文本格式

        在RSAOpenSSL.pas单元中,TRSAOpenSSL.LoadPrivateKeyFromString方法指定了公钥、私钥的文本内容格式。

        如果公钥、密钥文件用记事本打开不是这样样子,就打开在线解析地址

RSA在线加密/在线解密 公钥加密,公钥解密,私钥加密,私钥解密 - The X 在线工具

选择RSA, 将密钥拷贝进去,然后点击其他空白地方,会自动生成内容抬头和内容结尾。然后再拷贝到密钥文件里保存就可以了。

      3.2 回车键的影响

        Unit1.pas单元117行       

        Memo的内容出现回车键,需要替换掉,不然影响加密结果(谁知道那里有个回车键...)。

aRSAData.DecryptedData := mmo_pp.Text;

        修改为

  aRSAData.DecryptedData := StringReplace(mmo_pp.Lines.Text,#13#10,'',[rfIgnoreCase,rfReplaceAll]);

      3.3 中文加解密说明

        由于我用的是XE10.1,版本高。再Demo的memo里,文本内容出现汉字的话,编码格式是GBK,所以,在线解析和用Demo解析才会一致

        这又牵扯到另外一点了,像现在服务一般是Java或C#来写的,一般都是采用UTF8格式。所以修改Unit1.pas单元117行,将

aRSAData.DecryptedData := StringReplace(mmo_pp.Lines.Text,#13#10,'',[rfIgnoreCase,rfReplaceAll]);

        修改为

aRSAData.DecryptedData := UTF8Encode(StringReplace(mmo_pp.Lines.Text,#13#10,'',[rfIgnoreCase,rfReplaceAll]));

4. 结语

         再次感谢大佬的分享,https://github.com/ZYHPRO/RSAEncryptAndDecode

       

        

http://www.yayakq.cn/news/44548/

相关文章:

  • 温州哪里有做网站的ic外贸网站建设
  • 杭州专业的网站制作公司十大品牌策划公司
  • 网站开发培训多少钱wordpress qvanxian
  • 献县做网站西安网页制作设计
  • 佛山网站优化注册做网站的公司
  • 北京响应式网站建设报价wordpress 占比
  • 专业做包包的网站好wordpress扁平化主题
  • 网站开发和程序开发wordpress的插件下载
  • 百色住房和城乡建设部网站网站建设新一点网络
  • 网站建设 中企动力 东莞成都网站建设 网络公司
  • 郑州建设网站哪家好电脑网站网页设计
  • 镇江模板网站国家企业信用信息年报
  • 网站开发工程师ppt织梦网站wap
  • 长春长春网站建设网网站后台怎么添加模板
  • 网站关键词排名检测工具室内设计联盟app最新版app
  • 广州网站建设工作室菏泽网站建设公司
  • 网站开发协义品牌营销型网站建设公司
  • 网站数据库模板网站端网站开发
  • 做网站是怎么收费的是按点击率百度网站诚信认证
  • 申请免费网站哪个好公众号接入小程序
  • 丹徒网站建设包括哪些网站建设包含专业
  • 十六局集团门户网安卓优化大师手机版
  • 做网站后台需要学什么凉山州城乡和住房建设厅网站
  • 深圳沙头角网站建设中国的wordpress
  • 网站建设的目标是什么 提供了哪些栏目wordpress演示数据
  • 城市维护建设税在哪个网站申报wordpress域名解析
  • 《网站建设与管理》方案全网搜索软件
  • 品牌推广网站策划设计做网站开通手机验证功能
  • 用vs2010做网站登录中国苏州官网
  • 做网站感想使用wampserver做响应式网站