c++ 加密与解密代码(普通加密 + 凯撒加密 + 图灵来了都解不开的加密)

当你和你的好朋友聊天的时候,你们的聊天内容很容易就被看出来,那么小天狼星这边可以给到一些建议~~

一、用另一种语言

通常来说,使用除中文和其他常用语言外的语言是一个优秀的选择!
例如:乌伯克语、阿亚帕涅科语。
当你们学会了这种语言的时候,可以用语言进行交流,这样,你们的聊天内容就没有什么人可以听出来了~~

二、使用文字加密

文字加密是一种常用的加密方法,例如把文章改成拼音,或者改成数字。
而复杂的加密也可以做到,例如:用二进制替代字母,用字母替代拼音,再用拼音替代文字。

小天狼星

xiao tian lang xing

我们今天要使用的加密方法就是基于这种加密方法!

三、方法二的改进

方法二中,加密是有规律的,这样很容易让人破解,十分不美妙。

所以我们对方法二进行改进,可以加上或减去某个数字,这就得到了凯撒加密:

小天狼星

xiao tian lang xing
↓ +3
aldr wldq odqj alqj

四、图灵来了都解不开的加密

#include <bits/stdc++.h>
#include <windows.h>
using namespace std;
string zm[30]={	" zxegrymcohlinpkjadvfwubtqs"," oyedjsvnqzrfmtbkapxgwhiluc"," baqlzkduespxncmirwfovyhtjg"," jscfplhriaoytbgexzdwqmunkv"," rjvchpbomxydlfeqzkgntuisaw"," xyfnqctrjaeswdpzkoviumblgh"," gyjbeifmwolkducsatnpzxvqrh"," ivyudglkbmtpoxfswaecqrhznj"," azevmthkbqnuyxwciplgsjdrfo"," jhrnqvwdueytixpbzcalofkmsg"," ehgvbmyipjnltdazrowqfucksx"," fdwmxjkosyvztlucnrabiqephg"," ndlfrwaxjqetumvpkczoysgbhi"," yxomjepbtlkvwfugqahinrcszd"," lqdchpwnjvokgtubearfzixmys"," kmyjlohegipdanfrucqvstbxwz"," emtbgkyqdnhxurpfivowljszac"," bunmcrvzpswhtjglixqadfkoye"," wkzqxvgmcrathobisufyljpend"," gasymewuoqxkbjzdhlivtrnfpc"," jkvhltfmubpseoqzicxrdyagwn"," icvtkhyqerzgsbpxuajdnmlofw"," ljtoypqbefmvucgwaxszndkhir"," gjneamtswfkdczlybroqihxvpu"," nmljsqkcuriexhvztopabdywgf"," plgknrqiwjubahxtydocmsfzev"};
char yuanwen[1000000];
int l,fangan,anhao,daan,jiajie,a[1000000];
void shuchu()
{cout <<a[1];for (int i=2;i<=l;i++){if (a[i]!=0)cout <<"." <<a[i];else{cout <<"_" <<a[i+1];i++;}}
}
int main()
{srand(time(0)); do{memset(a,0,sizeof(a));cout <<"\n\n\n加密(1)、解密(2)还是关闭程序(3):";cin >>jiajie;if (jiajie==1){cout <<"请输入原文:\n";gets(yuanwen);gets(yuanwen); l=strlen(yuanwen);fangan=rand()%26+1;for (int i=1;i<=l;i++){a[i]=zm[fangan].find(yuanwen[i-1]);}cout <<fangan <<"." <<rand()%17+10 <<"_";shuchu();}else if(jiajie==2) {cout <<"请输入原文:\n";gets(yuanwen);gets(yuanwen); l=strlen(yuanwen);int kk=0,w,shu=0;for (int i=0;yuanwen[i]!='.';i++){kk*=10;kk+=yuanwen[i]-48;w=i;}for (int i=w+5;i<=l;i++){if (yuanwen[i]>='0' && yuanwen[i]<='9'){shu=shu*10+yuanwen[i]-48;}else{cout <<zm[kk][shu];if (yuanwen[i]=='_')cout <<" ";shu=0;}}}elseexit(0);}while(1);return 0;
}

这个加密程序共有26种加密的方式,还可以根据自己的需求来改变秘钥。
秘钥就是程序开头的一大串字母,随机生成秘钥的程序我会放在文章末尾。

现在讲解一下这个代码的操作:

  • 它首先会生成一个数,代表用的是哪种加密方式
  • 然后会根据这个加密方式来加密
  • 如果要解密就用这个程序的解密功能即可

这个程序妙就妙在连编写这个程序的人都不知道如何解密。

加密和解密的事例如下:
在这里插入图片描述
可以看到,我们对 "xiao tain lang xing"进行加密的时候,它会生成不同的加密文本,但都可以解密成原文本。

五、秘钥生成

那26条秘钥肯定不是我手动输入的,而是程序生成的:

#include<bits/stdc++.h>
using namespace std;
int a[30];
bool pd()
{for (int i=1;i<=26;i++){if (a[i]==0)return 1;}return 0;
}
int main()
{srand(time(0));for (int i=1;i<=26;i++){memset(a,0,sizeof(a));cout <<"\" ";while(pd()){int r=rand()%26+1;if (a[r]==0){a[r]=1;cout <<char(r+96);}}cout <<"\",\n";}return 0;
}

生成的秘钥只要复杂上去就行了,甚至不用手工改格式!!

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

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

相关文章

智能泊车,再上热搜

编者按&#xff1a;相比于行车&#xff0c;低速可控场景&#xff0c;更有利于泊车功能快速迭代。同时&#xff0c;对于部分消费者来说&#xff0c;泊车智能化也是加分项。 智能泊车赛道&#xff0c;正在重新成为各路势力争夺的焦点。而上一次“高潮”&#xff0c;要追溯到2018年…

开源客户沟通平台Chatwoot账号激活问题

安装docker docker-compose 安装git clone https://github.com/chatwoot/chatwoot 下载之后根目录有一个docker-compose.production.yaml将其复制到一个目录 重命名 docker-compose.yaml 执行docker-compose up -d 构建 构建之后所有容器都安装好了 直接访问http://ip:3…

护眼台灯怎么选——明基、书客、孩视宝实测横评

最近护眼台灯的热度真是不小&#xff0c;许多博主纷纷推荐。考虑到孩子即将放寒假&#xff0c;市场上的产品也是五花八门&#xff0c;于是我决定认真研究一下&#xff0c;找出其中的水货和宝藏产品。我挑选了市场上口碑较好的3款产品进行深入评估&#xff0c;主要从照度、显色指…

Revit二次开发 设置材质

设置此处材质&#xff0c;需要在材质浏览器中创建材质&#xff0c;根据材质名字设置此材质。 代码如下&#xff1a; Material material new FilteredElementCollector(doc).OfClass(typeof(Material)).FirstOrDefault(x > x.Name "窗框") as Material; Element…

如何利用streamlit 將 gemini pro vision 進行圖片內容介紹

如何利用streamlit 將 gemini pro vision 進行圖片內容介紹 1.安裝pip install google-generativeai 2.至 gemini pro 取 api key 3.撰寫如下文章:(方法一) import json import requests import base64 import streamlit as st 讀取圖片檔案&#xff0c;並轉換成 Base64 編…

Android SeekBar 进度条圆角

先看下效果图&#xff1a; 之前&#xff1a; 优化后&#xff1a; 之前的不是圆角是clip切割导致的 全代码&#xff1a; <SeekBarandroid:layout_width"188dp"android:layout_height"wrap_content"android:background"null"android:focusa…

风速预测 | Python基于CEEMDAN-CNN-Transformer+ARIMA的风速时间序列预测

目录 效果一览基本介绍程序设计参考资料 效果一览 基本介绍 CEEMDAN-CNN-TransformerARIMA是一种用于风速时间序列预测的模型&#xff0c;结合了不同的技术和算法。收集风速时间序列数据&#xff0c;并确保数据的质量和完整性。这些数据通常包括风速的观测值和时间戳。CEEMDAN分…

使用Spring Boot实现基于HTTP的API

Spring Boot是一个用于简化Spring应用程序开发的框架&#xff0c;它提供了一系列的开箱即用的功能&#xff0c;使得快速构建RESTful Web服务和基于HTTP的API变得简单。以下是使用Spring Boot实现基于HTTP的API的步骤&#xff1a; 添加依赖&#xff1a;在Maven项目中&#xff0c…

企业能源消耗监测管理系统是否可以做好能源计量与能耗分析?

能源消耗与分析是能源科学管理的基础&#xff0c;也可促进能源管理工作的改善&#xff0c;在企业中能源管理系统的作用也愈加重要。 首先&#xff0c;能源计量是能源管理的基础&#xff0c;通过能源精准计老化&#xff0c;容易出现测量设备不准确以及其他一些人为因素原因导致…

pve7.x、8.x版本一键升级、换源、优化工具脚本推荐

每次安装完pve之后都需要、换各种debain源、pve源、lxc源等、去掉弹窗、合并local-lvm等一系列的工作。还有玩硬件直通的优化。 偶然发现网上有大佬编写的一键脚本&#xff0c;pve_source 官网地址pve_source - X86派 - 迷你硬件玩家集中地 需要注册登录后能看到最新的地址 …

Oracle BIEE 示例(一)数据透视表2

1 背景 版本:BIEE 12C 视图:数据透视表 实现内容(顺序与具体内容不一致): 2 空列显示(方法一) 2.1 问题 列为空时,标题栏不显示信息。 2.2 期望 即使数据为空,也要显示列名。 2.3 官方资料 2.3.1 操作步骤 2.3.1.1 要在分析级别关闭空值隐藏,请执行以下操作…

操作无法完成,因为文件已在Windows资源管理器中打开,如何解决?以及如何将哔哩哔哩下载好的视频导出到电脑中播放?— 以vivo手机为例

前言 想删除流氓软件的时候&#xff0c;提示操作无法完成&#xff0c;因为文件已在Windows资源管理器中打开&#xff0c;但打开任务管理器&#xff0c;似乎又没有符合的正在执行的程序&#xff0c;更别说打开让人看到头疼的资源监视器了&#xff0c;本文将用一招解决如上问题 …

从一个main.cpp文件开始构建Qt项目【浅析】

目录 操作步骤 编译阶段 尝试运行 操作步骤 最初只有一个main.cpp文件。 然后在Qt的mingw命令行中进行以下操作&#xff1a; 这样就会在main.cpp的路径下生成一个.pro文件&#xff1a; 用QC打开后是这个样子&#xff1a; 所以在这里 qmake -project 的作用就是生成一个.…

【开源】基于JAVA语言的假日旅社管理系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 系统介绍2.2 QA 问答 三、系统展示四、核心代码4.1 查询民宿4.2 新增民宿评论4.3 查询民宿新闻4.4 新建民宿预订单4.5 查询我的民宿预订单 五、免责说明 一、摘要 1.1 项目介绍 基于JAVAVueSpringBootMySQL的假日旅社…

配置路由策略案例

知识改变命运&#xff0c;技术就是要分享&#xff0c;有问题随时联系&#xff0c;免费答疑&#xff0c;欢迎联系&#xff01; 厦门微思网络​​​​​​ https://www.xmws.cn 华为认证\华为HCIA-Datacom\华为HCIP-Datacom\华为HCIE-Datacom Linux\RHCE\RHCE 9.0\RHCA\ Oracle O…

1秒解决“整合磁盘时出错: 指定的虚拟磁盘需要进行修复”

引言 Linux初学者会时常报以下的错误&#xff0c;导致虚拟机打不开 原因 总的来说&#xff0c;就是没有正常关闭虚拟机导致的虚拟磁盘 (.vmdk)本身有一个磁盘保护机制&#xff0c;为了防止多台虚拟机同时访问同一个虚拟磁盘 (.vmdk)带来的数据丢失和性能削减方面的隐患&#…

将AWS iot消息数据发送Kinesis Firehose Stream存向S3

观看此文章之前&#xff0c;请先学习AWS iot的数据收集&#xff1a; 使用Linux SDK客户端向AWS Iot发送数据-CSDN博客 1、工作原理&#xff1a; 1.1 规则 规则可让您的设备与 AWS 服务进行交互。分析规则并根据物品发送的消息执行操作。您可以使用规则来支持任务&#xff0…

C++类和对象(上)

✨Blog&#xff1a;&#x1f970;不会敲代码的小张:)&#x1f970; &#x1f251;推荐专栏&#xff1a;C语言&#x1f92a;、Cpp&#x1f636;‍&#x1f32b;️、数据结构初阶&#x1f480; &#x1f4bd;座右铭&#xff1a;“記住&#xff0c;每一天都是一個新的開始&#x1…

(2)Elastix图像配准:参数文件(配准精度的关键)

文章目录 前言一、Elastix简介二、参数文件&#xff08;类型&#xff09;三、参数文件&#xff08;定义&#xff09;&#xff1a;由多个组件组成&#xff0c;每个组件包含多个参数。3.1、组件的相关参数3.2、图解组件3.2.1、图解 - 金字塔&#xff08;pyramid&#xff09;3.2.2…

wpf控件Expander集合下的像素滚动

项目场景&#xff1a;Expander集合滚动 如下图&#xff0c;有一个Expander集合&#xff0c;且设置 ScrollViewer.VerticalScrollBarVisibility "Auto" 每个Expaner下包含有若干元素&#xff0c;当打开Expader(即IsExpanded "true"&#xff09;时&#…