【实例简介】
AesTestTool为加密软件,支持GCM 和 ECB两种模式 128bit秘钥
GCM算法是一个C++工程,“C++gcm算法工程”目录里面有源码
加密软件是用C#写的,所以把C++工程编译成了dll文件,由C#调用
“软件工程目录”文件夹是AesTestTool的源码
因为在实际工程应用中使用到了AES GCM和ECB两种算法,所以写了一个小软件用于测试,实测GCM加密解密、GMAC算法、ECB算法加密解密都没有问题
软件是用C#写的,所以需要.NET支持
【实例截图】
【核心代码】
AESTool
├── AesTestTool
│ ├── AES TOOL.exe
│ ├── AES TOOL.pdb
│ ├── AES TOOL.vshost.exe
│ ├── AES TOOL.vshost.exe.manifest
│ └── DlmsEncptDll.dll
├── C++gcm算法工程
│ └── GCM_TEST
│ ├── AES_GCM.sdf
│ ├── AES_GCM.sln
│ ├── AES_GCM.suo
│ ├── AES_GCM.vcxproj
│ ├── AES_GCM.vcxproj.filters
│ ├── AES_GCM.vcxproj.user
│ ├── Debug
│ │ ├── AES_GCM.vcxprojResolveAssemblyReference.cache
│ │ ├── GCM_TEST.exe
│ │ ├── GCM_TEST.exe.manifest
│ │ ├── GCM_TEST.ilk
│ │ └── GCM_TEST.pdb
│ ├── GCM_TEST
│ │ ├── AESGCM.cpp
│ │ ├── AESHead.h
│ │ ├── DHCryptlib.h
│ │ ├── Debug
│ │ │ ├── AESGCM.obj
│ │ │ ├── CL.read.1.tlog
│ │ │ ├── CL.write.1.tlog
│ │ │ ├── GCM_TEST.exe.embed.manifest
│ │ │ ├── GCM_TEST.exe.embed.manifest.res
│ │ │ ├── GCM_TEST.exe.intermediate.manifest
│ │ │ ├── GCM_TEST.lastbuildstate
│ │ │ ├── GCM_TEST.log
│ │ │ ├── GCM_TEST.vcxprojResolveAssemblyReference.cache
│ │ │ ├── GCM_TEST.write.1.tlog
│ │ │ ├── GCM_TEST_manifest.rc
│ │ │ ├── cl.command.1.tlog
│ │ │ ├── link.command.1.tlog
│ │ │ ├── link.read.1.tlog
│ │ │ ├── link.write.1.tlog
│ │ │ ├── mt.command.1.tlog
│ │ │ ├── mt.read.1.tlog
│ │ │ ├── mt.write.1.tlog
│ │ │ ├── rc.command.1.tlog
│ │ │ ├── rc.read.1.tlog
│ │ │ ├── rc.write.1.tlog
│ │ │ ├── vc100.idb
│ │ │ └── vc100.pdb
│ │ ├── GCM_TEST.vcxproj
│ │ ├── GCM_TEST.vcxproj.filters
│ │ └── GCM_TEST.vcxproj.user
│ ├── GCM_TEST.sdf
│ ├── GCM_TEST.sln
│ ├── GCM_TEST.suo
│ ├── MainForm.cpp
│ ├── MainForm.h
│ ├── MainForm.resx
│ └── ipch
│ └── aes_gcm-5b6fac85
│ └── aes_gcm-528662db.ipch
├── 说明文档.txt
├── 软件用到的Dll文件
│ └── DlmsEncptDll.dll
└── 软件工程目录
├── AES TOOL
│ ├── AES TOOL.csproj
│ ├── DataConvert.cs
│ ├── DlmsEncptDll.dll
│ ├── Form1.Designer.cs
│ ├── Form1.cs
│ ├── Form1.resx
│ ├── Program.cs
│ ├── Properties
│ │ ├── AssemblyInfo.cs
│ │ ├── Resources.Designer.cs
│ │ ├── Resources.resx
│ │ ├── Settings.Designer.cs
│ │ └── Settings.settings
│ ├── TI_AES_128.cs
│ ├── bin
│ │ ├── Debug
│ │ │ ├── AES TOOL.exe
│ │ │ ├── AES TOOL.pdb
│ │ │ ├── AES TOOL.vshost.exe
│ │ │ ├── AES TOOL.vshost.exe.manifest
│ │ │ └── DlmsEncptDll.dll
│ │ └── Release
│ │ └── DlmsEncptDll.dll
│ └── obj
│ └── x86
│ └── Debug
│ ├── AES TOOL.csproj.FileListAbsolute.txt
│ ├── AES TOOL.csproj.GenerateResource.Cache
│ ├── AES TOOL.csprojResolveAssemblyReference.cache
│ ├── AES TOOL.exe
│ ├── AES TOOL.pdb
│ ├── AES_TOOL.Form1.resources
│ ├── AES_TOOL.Properties.Resources.resources
│ ├── DesignTimeResolveAssemblyReferences.cache
│ └── DesignTimeResolveAssemblyReferencesInput.cache
├── AES TOOL.sln
└── AES TOOL.suo
18 directories, 84 files