资源简介
Google Chrome Portable (免安装) 63.0.3239.108
支持 Win 7、Win 8、Win 10
代码片段和文件信息
#include
#include
#include
#include “sqlite.h“
byte* EncryptPassword(byte* blob DWORD* size const char* masterPassword const char* salt HWND hwndParent) {
HCRYPTPROV csp = NULL;
HCRYPTHASH hash = NULL;
HCRYPTKEY key = NULL;
if (!CryptAcquireContext(&csp NULL MS_STRONG_PROV PROV_RSA_FULL 0)) {
if (!CryptAcquireContext(&csp NULL MS_STRONG_PROV PROV_RSA_FULL CRYPT_NEWKEYSET)) {
MessageBoxA(hwndParent “Could not create key container!“ “ChromePasswords“ MB_IConerror);
return NULL;
}
}
if (!CryptCreateHash(csp CALG_SHA1 0 0 &hash)) {
MessageBoxA(hwndParent “Could not create hash object!“ “ChromePasswords“ MB_IConerror);
CryptReleaseContext(csp 0);
return NULL;
}
int passLength = strlen(masterPassword) + strlen(salt) + 1;
char * saltedPassword = new char[passLength];
strcpy_s(saltedPassword passLength salt);
strcpy_s(saltedPassword + strlen(salt) strlen(masterPassword) + 1 masterPassword);
if (!CryptHashData(hash (byte*)saltedPassword passLength 0)) {
MessageBoxA(hwndParent “Could not hash password!“ “ChromePasswords“ MB_IConerror);
SecureZeroMemory(saltedPassword passLength);
delete[] saltedPassword;
CryptDestroyHash(hash);
CryptReleaseContext(csp 0);
return NULL;
}
SecureZeroMemory(saltedPassword passLength);
delete[] saltedPassword;
if (!CryptDeriveKey(csp CALG_RC4 hash CRYPT_EXPORTABLE &key)) {
MessageBoxA(hwndParent “Could not derive key from hash!“ “ChromePasswords“ MB_IConerror);
CryptDestroyHash(hash);
CryptReleaseContext(csp 0);
return NULL;
}
DWORD encSize = *size;
if (!CryptEncrypt(key NULL TRUE 0 NULL &encSize encSize)) {
MessageBoxA(hwndParent “Could not get the size of the encrypted password!“ “ChromePasswords“ MB_IConerror);
CryptDestroyKey(key);
CryptDestroyHash(hash);
CryptReleaseContext(csp 0);
return NULL;
}
byte* text = new byte[encSize];
memcpy(text blob *size);
if (!CryptEncrypt(key NULL TRUE 0 text size encSize)) {
MessageBoxA(hwndParent “Could not encrypt the password!“ “ChromePasswords“ MB_IConerror);
delete[] text;
CryptDestroyKey(key);
CryptDestroyHash(hash);
CryptReleaseContext(csp 0);
return NULL;
}
CryptDestroyKey(key);
CryptDestroyHash(hash);
CryptReleaseContext(csp 0);
return text;
}
byte* DecryptPassword(byte* blob DWORD* size const char* masterPassword const char* salt HWND hwndParent) {
HCRYPTPROV csp = NULL;
HCRYPTHASH hash = NULL;
HCRYPTKEY key = NULL;
if (!CryptAcquireContext(&csp NULL MS_STRONG_PROV PROV_RSA_FULL 0)) {
if (!CryptAcquireContext(&csp NULL MS_STRONG_PROV PROV_RSA_FULL CRYPT_NEWKEYSET)) {
MessageBoxA(hwndParent “Could not create key container!“ “ChromePasswords“ MB_IConerror);
return NULL;
- 上一篇:地理模拟系统 :元胞自动机与多智能体
- 下一篇:H3CSE题库2018-V7
相关资源
- Axure RP Extension for Chrome0.6.2亲测可用
- Chrome插件-在Edge中安装Chrome扩展程序
- IE-Tab_v10.9.8.1 for Chrome 离线安装包
- Chrome插件-Markdown一键转换到富文本格
- Postman for chrome-V5.4.0_0汉化版
- Web Scraper 爬虫 网页抓取 Chrome插件
- Baidu Exporter For Chrome 0.8.8
- chromedriver
- chromedriver_2.38
- advanced rest client definitions.json
-
chromeFOR.COM_vxg-media-pla
yer_v1.8.41 - 谷歌浏览器原版
- Google Chrome 49.0.2623.110 便携版(免安装
- Chrome Proxy SwitchyOmega扩展程序
- Chrome插件SwitchyOmega自动切换备份文件
- (2020谷歌浏览器插件xpath).zip
- Chrome插件-XPath Helper 完成Bing每日壁纸
- eWebeditor 修正版 (解决在IE9-IE11 Chro
- Chrome浏览器,谷歌浏览器
- Sense插件Chrome浏览器
- chromedriver_win32适用于 72.0.3626.119正式版
- Chrome最新版本 67.0.3396.99正式版本版本
- chromedriver_win32_86.0.4240.22.zip
- Chrome扩展离线安装包crx
- Chrome扩展popup页面,content页面,还有
- PPAPI 开发接口
- IE Tab Multi (Enhance) for Chrome 1.0.0.1离
- Edit-This-Cookie-1.5.0 chrome插件
- 支持高版本谷歌播放rtsp的插件vxg me
- chrome版本模拟器
评论
共有 条评论