Qt—利用网卡信息和md5生成验证串
来源:互联网 发布:上海黄金交易所软件下载 编辑:程序博客网 时间:2024/05/16 14:31
一个最简单的验证串生成例子:
#include <QtCore/QCoreApplication>#include <QtCore/QCryptographicHash>#include <QtCore/QFile>#include <Windows.h>#include <IPHlpApi.h>#pragma comment(lib,"Iphlpapi.lib")#include <string>using namespace std;bool getMAC(char* mac){PIP_ADAPTER_INFO pAdapterInfo;PIP_ADAPTER_INFO pAdapter = NULL;DWORD dwRetVal = 0;ULONG ulOutBufLen = 0;// 第一次调用GetAdapterInfo获取ulOutBufLen大小if (GetAdaptersInfo( NULL, &ulOutBufLen) == ERROR_BUFFER_OVERFLOW){pAdapterInfo = (IP_ADAPTER_INFO *) malloc (ulOutBufLen); }if ((dwRetVal = GetAdaptersInfo( pAdapterInfo, &ulOutBufLen)) == NO_ERROR) {pAdapter = pAdapterInfo;if (pAdapter) {mac[0] =pAdapter->Address[0];mac[1] =pAdapter->Address[1];mac[2] =pAdapter->Address[2];mac[3] =pAdapter->Address[3];mac[4] =pAdapter->Address[4];mac[5] =pAdapter->Address[5];}}else{return false;}return true;}bool getCheck(){QFile snFile("sn");if (!snFile.exists()){return false;}if(!snFile.open(QIODevice::ReadOnly)){return false;}QByteArray szSN = snFile.readAll();char mac[6] = {0};if (!getMAC(mac)){return false;}for (char i=0; i<6;i++){mac[i] = ~mac[i];mac[i] = mac[i]|i;}QByteArray data(mac,6);data = QCryptographicHash::hash(data,QCryptographicHash::Md5);QString sn ;sn.append(data.toHex());sn = sn.toUpper();return (szSN == sn)?true:false;}bool getFile(const char* fileName){QFile snFile(fileName);if(!snFile.open(QIODevice::WriteOnly)){printf("open file %s failed.\r\n", fileName);return false;}char mac[6] = {0};if (!getMAC(mac)){printf("get mac address failed.\r\n");return false;}for (char i=0; i<6;i++){mac[i] = ~mac[i];mac[i] = mac[i]|i;}QByteArray data(mac,6);data = QCryptographicHash::hash(data,QCryptographicHash::Md5);QString sn ;sn.append(data.toHex());sn = sn.toUpper();snFile.write(sn.toAscii());snFile.flush();snFile.close();return true;}
- Qt—利用网卡信息和md5生成验证串
- Qt获取IP地址、MAC地址等网卡信息,区分本地网卡、无线网卡和虚拟网卡
- qt获取网卡信息 QNetworkInterface
- java 生成MD5验证码
- python 利用random生成验证码与MD5码加密过程
- PHP利用GD库画图和生成验证码图片
- php中利用gd图片验证码生成和保存
- javascript利用wmi获取客户端网卡信息
- QT中生成字符串md5的方法
- QT中生成字符串md5的方法
- QT中生成字符串md5的方法
- qt如何根据指定字符串生成MD5
- QT中生成字符串md5的方法
- 登录时验证,判断服务器IP和网卡信息是否授权
- [Qt]获取Mac系统的有效网卡和序列号及硬件ID等信息(
- MD5密码加密和验证
- QT生成com组件信息
- [JAVA][MD5]关于MD5的实现和JAVA生成MD5
- linux下交叉编译arm平台二进制elf文件
- c# Using 用法
- JS 将Date对象和字符串转换成日期类型
- android eclipse开发环境 自动提示 程序无法响应解决方法
- 如何在对话框关闭后仍能使用其成员变量的值
- Qt—利用网卡信息和md5生成验证串
- html标签自定义属性的应用
- android 从流中读取数据
- 这是我看到过最好的介绍IQ正交调制的文章
- Vim下的代码自动补全和代码跳转阅读
- android 各种xml资源的引用方式
- 旅游网站项目开发过程总结
- SQL通信区(SQLCA)
- Ext Grid后台分页完整示例