C++ 一种简单的软件验证码 程序授权使用 收费付费使用 无需注册 用机器码得到一个加密值 再对比加密值是否一致 只需加密

简单软件授权方案

1、获取机器码,发给软件开发者
2、开发者用机器码加密得到一个密文 发给使用者
3、使用者 用这个密文 与本地计算密文比较密文是否一致,一致就把密文写入到注册表,下次登录从注册表读密文对比。

(最重要的是密文生成的方法保密)(只需加密,不用解密)
在这里插入图片描述

#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>std::string encryptDecrypt(const std::string& input, const char key) {std::string output = input;for (size_t i = 0; i < input.size(); ++i) {output[i] = input[i] ^ key;}return output;
}
std::string toHexString(const std::string& input) {std::stringstream ss;for (const auto& c : input) {ss << std::hex << std::setw(2) << std::setfill('0') << static_cast<int>(c);}return ss.str();
}
std::string fromHexString(const std::string& input) {std::string output;std::stringstream ss;for (size_t i = 0; i < input.size(); i += 2) {int value;ss << std::hex << input.substr(i, 2);ss >> value;output.push_back(static_cast<char>(value));ss.clear();}return output;
}int main(int argc, char* argv[]) {std::string input = "Hello, World!";if (argc != 2) {std::cout << "Usage: " << " <filename> <orignal string>" << std::endl;std::cout << "示例: <filename> "<<input << std::endl;}else{input = argv[1];}std::cout << "原字符串: " << input << std::endl;char key = 'K';std::string encrypted = encryptDecrypt(input, key);std::cout << "加密后的字符串: " << encrypted << std::endl;std::string hexString = toHexString(encrypted);std::cout << "加密后的16进制字符串: " << hexString << std::endl;std::string decrypted = encryptDecrypt(fromHexString(hexString), key);std::cout << "解密后的字符串: " << decrypted << std::endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/597694.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

城市郊野公园“风筝节”视频智能识别技术安全监管方案

一、方案背景 四月天气十分舒适&#xff0c;微风拂面&#xff0c;这段时间也是游客前往户外放风筝的好时机&#xff0c;很多城市都举办了“风筝节”等活动&#xff0c;尤其是在周末节假日期间&#xff0c;城市各个郊野公园的游客量逐渐暴增。然而&#xff0c;随着参与人数的增…

揭秘闲鱼首饰市场,七天螺旋暴力起号玩法,最详细保姆式教学,日入1000+

大家好今天给大家带来的课程是揭秘首饰市场,七天螺旋暴力起号玩法,全网最新最详细项目保姆式教学,日入四位数项目0门槛一台设备就能操作!!!揭秘闲鱼首饰市场,七天螺旋暴力起号玩法,最详细保姆式教学,日入1000+ - 百创网-源码交易平台_网站源码_商城源码_小程序源码 首…

数字人解决方案——Champ单个视频单张图像生成可控且一致的人体视频生成

概述 Champ是阿里巴巴集团、南京大学和复旦大学的研究团队共同提出了一种创新的人体动画生成技术&#xff0c;Champ能够在仅有一段原始视频和一张静态图片的情况下&#xff0c;激活图片中的人物&#xff0c;使其按照视频中的动作进行动态表现&#xff0c;极大地促进了虚拟主播…

通用开发技能系列:MySQL进阶

云原生学习路线导航页&#xff08;持续更新中&#xff09; 本文是 通用开发技能系列 文章&#xff0c;主要对编程通用技能 MySQL进阶 内容进行学习 1.SQL基础语法 通用开发技能系列&#xff1a;SQL基础语法学习 2.进阶篇 2.1.存储引擎 2.1.1.MySQL体系结构&#xff1a; 2.1…

蓝桥杯杯赛之深度优先搜索优化《1.分成互质组》 《 2.小猫爬山》【dfs】【深度搜索剪枝优化】【搜索顺序】

文章目录 思想例题1. 分成互质组题目链接题目描述【解法一】【解法二】 2. 小猫爬山题目链接题目描述输入样例&#xff1a;输出样例&#xff1a;【思路】【WA代码】【AC代码】 思想 本质为两种搜索顺序&#xff1a; 枚举当前元素可以放入哪一组枚举每一组可以放入哪些元素 操…

数字逻辑分析仪初体验

为啥会用到这玩意儿&#xff0c;要从一个荒诞的需求开始。想在市面上找一款特别低空飞行的监控&#xff0c;而且不想它一直开着监控&#xff0c;最好是我在外面远程指挥它起飞&#xff0c;飞去厨房&#xff0c;飞去洗手间&#xff0c;甚至飞去阳台&#xff0c;查看水龙头情况啊…

交错字符串

题目链接 交错字符串 题目描述 注意点 s1、s2、和 s3 都由小写英文字母组成0 < s1.length, s2.length < 1000 < s3.length < 200能否仅使用 O(s2.length) 额外的内存空间来解决它 解答思路 最初想到的是使用深度优先遍历&#xff0c;使用指针指向当前s3需要的…

【协议篇:Http与Https】

1. Http 1.1 Http的定义 超文本传输协议&#xff08;Hypertext Transfer Protocol&#xff0c;HTTP&#xff09;是用于分布式、协作式和超媒体信息系统的应用层协议。它是互联网上最广泛应用的数据通信协议之一&#xff0c;尤其对于万维网&#xff08;WWW&#xff09;服务而言…

如何使用PL/SQL Developer工具导出clob字段的表?

1 准备测试数据 导出测试对象&#xff1a;表test_0102&#xff0c;others字段为clob类型 --创建中间表test_0101 create table test_0101( id number, name varchar2(20), others clob);--插入100条测试数据 beginfor i in 1..100 loopinsert into test_0101 values(i,i||_a,l…

藏不住了!这20个技术点是运维老手的秘密武器

你们好&#xff0c;我的网工朋友。 信息技术系统的正常运行直接关系到企业或生产的正常运行。 然而&#xff0c;网工经常面临以下问题&#xff1a;网络速度慢、设备故障和应用系统效率低。 任何信息技术系统的故障&#xff0c;如果不及时处理&#xff0c;都会产生很大的影响…

【项目实战】【Docker】【Git】【Linux】部署V2rayA项目

今天着手了一个全新领域的项目&#xff0c;从完全没有头绪到成功运行&#xff0c;记录一下具体的部署流程 github项目链接V2rayA 一开始拿到以后完全没有抓手&#xff0c;去阅读了一下他的帮助文档 写着能用docker运行&#xff0c;就去下载了一个Docker配置了一下 拉取代码到…

frp内网穿透之(反向代理nginx)

通过公网 https 连接访问内网&#xff08;局域网&#xff09;本地http服务如下&#xff1a; 1.准备工作 ​ 想要实现内网穿透功能首先我们需要准备&#xff1a; 一台公网服务器&#xff08;用作frps的服务端&#xff09;一台需要做转发的内网服务器&#xff08;用作frpc的客…