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 編…

ES6对象新增了哪些扩展?

ES6&#xff08;ECMAScript 2015&#xff09;为JavaScript中的对象引入了一些新的扩展功能。以下是一些主要的ES6对象扩展&#xff1a; 对象字面量的增强&#xff08;Object Literal Enhancements&#xff09;&#xff1a; ES6允许在对象字面量中更简洁地定义属性和方法。您可以…

Android SeekBar 进度条圆角

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

程序员裁员潮

裁员对程序员的影响可以是相当大的&#xff0c;特别是在技术变革的时期。以下是一些可能的影响&#xff1a; 失业&#xff1a;当公司裁员时&#xff0c;程序员可能会失去他们的工作。这将导致失业风险的增加&#xff0c;特别是如果他们在特定行业或领域内专门从事工作。 就业机…

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

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

php 面向对象与反序列

目录 1.类和对象 2.序列化 3.反序列化 1.类和对象 <?php//类 class cl {var $name "fly"; // 类属性//函数function _destruct(){echo $this->name;}//函数function eat() {echo apple;} }//对象 $a new cl(); echo $a->name.<br>; //直接调用…

使用Spring Boot实现基于HTTP的API

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

(每日持续更新)信息系统项目管理(第四版)(高级项目管理)考试重点整理第8章 项目整合管理(五)

博主2023年11月通过了信息系统项目管理的考试&#xff0c;考试过程中发现考试的内容全部是教材中的内容&#xff0c;非常符合我学习的思路&#xff0c;因此博主想通过该平台把自己学习过程中的经验和教材博主认为重要的知识点分享给大家&#xff0c;希望更多的人能够通过考试&a…

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

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

生信软件12 - 基于Symbol和ENTREZID查询基因注释的R包(easyConvert )

使用easyConvert R包可获取基因的注释,包括基因的别名称别名、基因类型、Ensembl ID、Entrez ID及多个数据库的基因简介(summary)。 R包安装 # remotes包安装 install.packages("remotes")# easyConvert包安装 remotes::install_github("dming1024/easyCon…

P1184 高手之在一起 题解

还是先复习 or 预习一下set。 先给set一个名字&#xff1a; set<元素类型>qwq;插入元素&#xff1a; qwq.insert(元素);查找元素&#xff1a; qwq.find(元素);如果元素没有找到&#xff0c;返回qwq.end()&#xff0c;是一个空的位置迭代器。 注&#xff1a; 1.迭代器…

[AIGC 大数据基础]hive浅谈

在当今大数据时代&#xff0c;随着数据量的不断增大&#xff0c;如何高效地处理和分析海量数据已经成为一个重要的挑战。为了满足这一需求&#xff0c;Hive应运而生。 Hive作为一个基于Hadoop的数据仓库基础设施&#xff0c;为用户提供了类SQL的查询语言和丰富的功能&#xff0…

使用GradCAM 使用用于脑肿瘤分类的脑 MRI 扫描数据分类-含理论与源码

神经网络拥有数百万个可训练参数,长期以来一直被认为是黑匣子。它们可以产生令人惊叹的结果,而我们经常接受输出,但对模型为何做出这样的预测知之甚少。在某些情况下,模型可以学习意想不到的相关性并产生与预期任务无关的“正确”结果。GradCAM是梯度加权类激活映射的缩写,…

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 要在分析级别关闭空值隐藏,请执行以下操作…

openssl3.2/test/certs - 043 - 4096-bit leaf key

文章目录 openssl3.2/test/certs - 043 - 4096-bit leaf key概述笔记END openssl3.2/test/certs - 043 - 4096-bit leaf key 概述 openssl3.2 - 官方demo学习 - test - certs 笔记 /*! * \file D:\my_dev\my_local_git_prj\study\openSSL\test_certs\043\my_openssl_doc043…