(28)uniGUI for C++ builder下如何安装64位unigui和编译64位项目&各种加解密的调用与实现

                                                                                    (中行雷威2018.10.6)

(同一个世界,同一个梦想,交流学习C++Builder XE10,传承c++builder的魅力!欢迎各地朋友加入我的QQ群484979943,进群密码“BCB”,同时也请将该群号广为宣传,希望能够广集各方高手,共同进步。如需下载开发工具及源代码请加入我的QQ群。)

【阅读倡议】

1、有问题请留言;

2、没问题请点赞;

3、看连载请加群;

4、下源码请加群;

【开发工具】

1、C++Builder10.2.3 tokyo

2、FMSoft_uniGUI_Complete_Professional_1.10.0build1471(正版)

3、本案例资源下载https://download.csdn.net/download/dlboy2018/10703751

4、也可访问我的QQ文件共享:A02-源代码  下载

 

背景:

本博客曾在 (15)uniGUI for C++ builder下如何实现AES加解密 介绍了如何混合编译实现AES加密和解密,近日发现(15)中的代码不支持64位项目,因此找到了“爱吃猪头肉”网友提供的各种加解密delphi代码,本文将详细介绍如何配置unigui的64位环境,如何调用AES加解密混合编译成64位项目。

一、安装unigui

1、以默认方式安装FMSoft_uniGUI_Complete_Professional_1.10.0.1471.exe,我是win7 64位系统,安装到C:\Program Files (x86)\FMSoft目录下,然后在C:\Program Files (x86)\FMSoft\Framework\uniGUI下创建win32和win64两个子目录。

2、用delphi开发环境打开C:\Program Files (x86)\FMSoft\Framework\uniGUI下uniGUI_D10_2_Tokyo_PlusGroup.groupproj项目,详见右侧,如下图,逐个选择每个bpl项目,右键,选择options

(28)uniGUI for C++ builder下如何安装64位unigui和编译64位项目&各种加解密的调用与实现

选择output c/c++,如下图修改。

(28)uniGUI for C++ builder下如何安装64位unigui和编译64位项目&各种加解密的调用与实现

再逐个选择每个bpl项目,右键选择build;然后再如下图逐个选择带图标的四个项目,右键选择install。

(28)uniGUI for C++ builder下如何安装64位unigui和编译64位项目&各种加解密的调用与实现

此时已经完成32项目的安装,如果你只需开发32位项目,则关闭保存delphi环境,打开cbuilder开始开发项目了。

3、右键逐个选择各个项目(除了上图带图标的四个bpl项目包),右键options,如下图设置。

(28)uniGUI for C++ builder下如何安装64位unigui和编译64位项目&各种加解密的调用与实现

再右键逐个选择每个(除了带图标的四个bpl项目包)项目包,分别在平台上右键添加64位平台,再选择64位平台,将其设为**状态,再右键选择bpl包将其右键build.,此时已经完成了64位的编译安装。

(28)uniGUI for C++ builder下如何安装64位unigui和编译64位项目&各种加解密的调用与实现

二、开发64位项目

1、新建一个项目,保存在D:\myAesCBuilder

2、Project-》options

(28)uniGUI for C++ builder下如何安装64位unigui和编译64位项目&各种加解密的调用与实现

1)c++ linker->linkwith dynamit RTL=false

2)runtime packages=false

3)c++(shared options) include path:

(28)uniGUI for C++ builder下如何安装64位unigui和编译64位项目&各种加解密的调用与实现

4)c++(shared options) lib path:

(28)uniGUI for C++ builder下如何安装64位unigui和编译64位项目&各种加解密的调用与实现

3、将爱吃猪头肉网友的delphi加解密代码拷贝到你的项目根目录下

FlyUtils.AES.ElAES.pas、FlyUtils.AES.pas、FlyUtils.CnXXX.Common.pas(本文仅演示AES加解密,因此只拷贝了AES相关两个代码和一个公共代码),Project-》add to project,将三个代码添加到项目中。然后将本项目添加一个64位平台支持,并将其**位当前输出平台。右键选择Project1.exe,build,将*.pas编译成*.hpp代码。

(28)uniGUI for C++ builder下如何安装64位unigui和编译64位项目&各种加解密的调用与实现

4、设计主窗口MainForm

UniEdit1用于输入秘钥

UniMemo1用于输入要加密的明文

UniMemo2用于显示加密UniMemo1后的结果

UniMemo3用户显示解密UniMemo2后的结果

(28)uniGUI for C++ builder下如何安装64位unigui和编译64位项目&各种加解密的调用与实现

Main.cpp开头添加

/*自定义*/
#include "FlyUtils.AES.hpp";
#include "FlyUtils.AES.ElAES.hpp";
#include "FlyUtils.CnXXX.Common.hpp"

void __fastcall TMainForm::UniBitBtn1Click(TObject *Sender)
{

//128位AES加密

TKeyBit KeyBit;
TPaddingMode   APaddingMode;
KeyBit=kb128;
APaddingMode=pmZeroPadding;
UniMemo2->Text=AESEncryptStrToHex(UniMemo1->Text.Trim(), UniEdit1->Text, TEncoding::ANSI, TEncoding::UTF8,
      KeyBit, UniEdit1->Text, APaddingMode, false,rlCRLF, rlCRLF);


}
//---------------------------------------------------------------------------

void __fastcall TMainForm::UniBitBtn2Click(TObject *Sender)
{

//128位AES解密
TKeyBit KeyBit;
TPaddingMode   APaddingMode;
KeyBit=kb128;
APaddingMode=pmZeroPadding;
UniMemo3->Text=AESDecryptStrFromHex(UniMemo2->Text.Trim(), UniEdit1->Text, TEncoding::ANSI, TEncoding::UTF8,
      KeyBit, UniEdit1->Text, APaddingMode, false,rlCRLF, rlCRLF);
}
//---------------------------------------------------------------------------

三、运行结果

打开浏览器,输入http://127.0.0.1:8077,如下图所示,左侧是爱吃猪头肉的加解密演示,由图可见,功能很强大,右侧是本例的简单调用演示。本例子采用的AESECB加密128位方式,如果你需要更复杂的加密代码,请参考爱吃猪头肉的综合加解密代码包。

郑重声明:加解密代码版权归网友爱吃猪头肉所有。

 

(28)uniGUI for C++ builder下如何安装64位unigui和编译64位项目&各种加解密的调用与实现(28)uniGUI for C++ builder下如何安装64位unigui和编译64位项目&各种加解密的调用与实现