-
大小: 143KB文件类型: .rar金币: 1下载: 0 次发布日期: 2021-06-15
- 语言: 其他
- 标签: 指纹认证 加密 AES-256-CBC
资源简介
指纹认证插件:中控指纹采集器,浏览器版本IE9及以上,插件与页面交互数据采用了AES-256-CBC加密
代码片段和文件信息
#include se64.h>
#include
#include
#include
#include
#include “AESCryption.h“
using namespace CryptoPP;
#pragma comment(lib “cryptlib.lib“ )
AESCryption::AESCryption(void)
{
}
AESCryption::~AESCryption(void)
{
}
std::string AESCryption::encrypt(std::string plaintext std::string key std::string iv)
{
std::string ciphertext = ““;
try{
CBC_Mode< AES >::Encryption encryptor;
encryptor.SetKeyWithIV((const byte *)key.c_str() CryptoPP::AES::MAX_KEYLENGTH (const byte *)iv.data());
CryptoPP::StringSource ss((const byte *)plaintext.c_str() plaintext.length() true
new CryptoPP::StreamTransformationFilter(encryptor new CryptoPP::StringSink(ciphertext) CryptoPP::StreamTransformationFilter::DEFAULT_PADDING));
}
catch (Exception e)
{
std::cout << e.GetErrorType() << “ “ << e.GetWhat() << std::endl;
}
return ciphertext;
}
std::string AESCryption::decrypt(std::string ciphertext std::string key byte *iv)
{
std::string plaintext = ““;
if (!iv)
{
iv = new byte[AES::BLOCKSIZE];
memset(iv 0 AES::BLOCKSIZE);
}
try{
CBC_Mode< AES >::Decryption decryptor;
decryptor.SetKeyWithIV((const byte*)key.c_str() CryptoPP::AES::MAX_KEYLENGTH (const byte*)iv);
CryptoPP::StringSource ss((const byte*)ciphertext.c_str() ciphertext.length() true
new CryptoPP::StreamTransformationFilter(decryptor new CryptoPP::StringSink(plaintext) CryptoPP::StreamTransformationFilter::NO_PADDING));
}
catch (Exception e)
{
time_t ltime = time(NULL);
plaintext = ““;
}
char fname[32] = { 0 };
time_t ltime = time(NULL);
return plaintext;
}
std::string AESCryption::base64Encode(std::string data)
{
std::string data64 = ““;
try
{
StringSource((byte *)data.c_str() data.size() true new base64Encoder(new StringSink(data64)));
}
catch (Exception e)
{
std::cout << e.GetErrorType() << “ “ << e.GetWhat() << std::endl;
}
return data64;
}
std::string AESCryption::base64Decode(std::string data64)
{
std::string data = ““;
try
{
StringSource((byte *)data64.c_str() data64.size() true new base64Decoder(new StringSink(data)));
}
catch (Exception e)
{
std::cout << e.GetErrorType() << “ “ << e.GetWhat() << std::endl;
}
return data;
}
std::string AESCryption::hmacEncode(std::string info std::string key)
{
std::string mac = ““ encoder = ““ derived = ““;
try{
HMAC hmac((const byte*)key.data() key.size());
StringSource(info true new HashFilter(hmac new StringSink(mac)));
}
catch (const CryptoPP::Exception& e){
std::cerr << e.what() << std::endl;
}
encoder.clear();
StringSource(mac true new StringSink(encoder));
transform(encoder.begin() encoder.end() encoder.begin() ::tolower);
std::cout << “sign:“ << encoder.c_str();
return encoder; //return HMAC
}
std::string AESCryption::urlDecode(std::string urlCode)
{
std::string data = ““;
int
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 4765 2018-01-24 17:13 fingerprint\AESCryption.cpp
文件 646 2018-01-16 17:57 fingerprint\AESCryption.h
文件 182 2018-01-24 14:35 fingerprint\Chrome\chromepackage\manifest.json
文件 2292 2018-01-24 14:35 fingerprint\CMakeLists.txt
文件 1964 2018-01-16 16:12 fingerprint\Factory.cpp
文件 4647 2018-01-16 16:12 fingerprint\fingerprint.cpp
文件 2232 2018-01-16 16:12 fingerprint\fingerprint.h
文件 6564 2018-01-23 09:35 fingerprint\fingerprintAPI.cpp
文件 5043 2018-01-23 09:35 fingerprint\fingerprintAPI.h
文件 11862 2018-01-24 17:26 fingerprint\helper.cpp
文件 3470 2018-01-19 12:51 fingerprint\helper.h
文件 1089 2018-01-24 10:27 fingerprint\Logger.cpp
文件 338 2018-01-19 14:35 fingerprint\Logger.h
文件 2270 2018-01-24 14:35 fingerprint\Mac\bundle_template\Info.plist
文件 151 2018-01-24 14:35 fingerprint\Mac\bundle_template\InfoPlist.strings
文件 360 2018-01-24 14:35 fingerprint\Mac\bundle_template\Localized.r
文件 437 2018-01-24 14:35 fingerprint\Mac\bundle_template\remove.sh
文件 728 2018-01-24 14:35 fingerprint\Mac\distribution.xm
文件 837 2018-01-24 14:35 fingerprint\Mac\dmgdesign.applesc
文件 119961 2018-01-24 14:35 fingerprint\Mac\dmg_template\.background\background.png
文件 0 2018-01-24 14:35 fingerprint\Mac\dmg_template\.background\PLACE_BACKGROUND_PICTURE_HERE.txt
文件 0 2018-01-24 14:35 fingerprint\Mac\dmg_template\README.txt
文件 2930 2018-01-24 14:35 fingerprint\Mac\installer.cmake
文件 2731 2018-01-24 14:35 fingerprint\Mac\pkgInstaller.cmake
文件 1186 2018-01-24 14:35 fingerprint\Mac\projectDef.cmake
文件 821 2018-01-24 14:35 fingerprint\Mac\sc
文件 3873 2018-01-24 14:35 fingerprint\PluginConfig.cmake
文件 3243 2018-01-24 14:35 fingerprint\Win\projectDef.cmake
文件 205 2018-01-24 14:35 fingerprint\Win\WiX\fingerprint.ddf
文件 131 2018-01-24 14:35 fingerprint\Win\WiX\fingerprint.inf
............此处省略20个文件信息
相关资源
- AES加密解密实验报告
- PRESENT加密算法265835
- s/key协议及部分加密算法
- 读狗工具(用于对付常用的加密狗
- 基于verilog的DES加密算法
- 01.知识图谱完整项目实战-不加密.tx
- 实验三:AES加密算法
- 解包多种RPG加密
- 基于DES和RSA的混合加密机制
- STM32Cube之ID加密
- U盘过滤并且实现透明加密
- labview 运行程序加密
- labview超级强大的硬件加密技术
- 简单的二进制加密.e
- as3 des加解密含Crypto库
- 图像加密解密算法
- DES任意字符数加密实现
- 致远OA软加密
- 加密狗复制机增强版加密狗复制软件
- Crypto++库实现AES和RSA加密解密
- RSA加密算法演示程序使用了两种求模
- 基于FPGA的RSA加密算法的实现
- 适用于嵌入式的AES128加密耗内存极小
- 移动通信中的鉴权与加密
- ATECC08A加密芯片配置 Provision ,X509证书
- 最新尚硅谷Dubbo教程 视频课件完整不
- 加密和解密hex文件
- 密码学课程设计:DES 、RSA加密系统的
- 基于整数的全同态加密方案
- 文本文件的加密与解密
评论
共有 条评论