单表代换密码加密解密
单表代换密码加密解密原理:
单表代换是指英文字母在进行密码编码替换的时候,有一张对照表,也就是说,对于每一个字母,都是唯一对应的,如:
26个源字母表为:abcdefghijklmnopqrstuvwxyz
代换的字母表为:qwertyuiopasdfghjklzxcvbnm
在加密时,按照设计好的对照表对每一个明文字母进行替换,如a替换为q,b替换为w等。
加密代码:
//s为代换字母表
string encrypt(string mingwen,string s)
{string miwen;int i,k;for(i=0; i<mingwen.length(); i++){if(mingwen[i]>='A'&&mingwen[i]<='Z')mingwen[i] = mingwen[i]-'A'+'a';k = mingwen[i]-'a';miwen+=s[k];}return miwen;
}
解密代码:
string decrypt(string miwen,string s)
{string mingwen;int i,k;char c;for(i=0; i<miwen.length(); i++){if(miwen[i]>='A'&&miwen[i]<='Z')miwen[i] = miwen[i]-'A'+'a';c = miwen[i];for(k=0; k<s.length(); k++){if(c==s[k]){mingwen+='a'+k;break;}}}return mingwen;
}
单表代换密码加密解密相关推荐
- JS实现单表代换密码加密
单表代换加密算法是比较经典的加密算法,事先准备好字母代换的相应对照表,即可实现加密解密,这里我们用JS进行实现. 明文字母与密文字母对应关系: 明文 a b c d e f g h i j k l m ...
- 单表代换密码之Caesar密码的代码实现
单表代换密码之Caesar密码的代码实现 代码块 代码块语法遵循标准markdown代码,例如: from operator import mod #ceasar加密算法 def ceasarC(a) ...
- 单表代换密码(凯撒密码)
单表代换密码概述 对所有的明文字母都用一个固定的代换进行加密 ,因而称为 单表代换密码.加密过程中是从明文字母表到密文字母表的一一映射.例: 恺撒(Caesar)密码. 缺点:不能抗击字母频度分析,容 ...
- 密码加密解密(三)——仿射密码设计
代换密码算法的原理是使用替代法进行加密,就是将明文中的字符用其它字符替代后形成密文.例如,明文字母a.b.c.d,用D.E.F.G做对应替换后形成密文. 代换密码包括多种类型,如单表代换密码.多表代换 ...
- 单表置换密码java代码实现_单表替换密码
要求: 实现单表替换密码,用键盘接收明文和密钥,屏幕答应替换表和密文,大小写敏感,输入健壮性. 实际问题: 密钥处理应该是这个程序的重点,加密和解密都没有什么要注意的地方.用key[]数组接收keyt ...
- 维吉尼亚密码加密/解密在线工具
维吉尼亚密码加密/解密在线工具,工具链接:http://www.atoolbox.net/Tool.php?Id=856 维吉尼亚密码是在凯撒密码基础上产生的一种加密方法,它将凯撒密码的全部25种位移 ...
- NSSCTF刷题wp——单表替换密码
NSSCTF Crypto 模块 单表替换密码 [HGAME 2022 week1]Matryoshka ID:1855 打开Matryoshka.txt,发现是一堆点,看标签可能是Braille盲文 ...
- python中字符移位加密_1.1 移位密码加密解密python实现
例题1.1 移位密码加密解密 1.1.使用穷尽密钥搜索法破译如下利用移位密码加密的密文: ESPESTCOPIPCNTDPYPPODACZRCLXXTYR. 1.1答案: K=11,明文序列为: th ...
- php加密密码解析,php密码加密解密
php密码加密解密 龙行 PHP 2020-3-19 1002 0评论 function MD5PWD($data) { $pwd = md5($data); //把密码分割成 ...
最新文章
- c语言程序设计编程解读,C语言程序设计第三次实验报告解读
- SQL Server 2005 cmd工具的使用
- number 限制最长数字_Java源码阅读-Number
- 洛谷 1341 无序字母对
- BeautifulSoup解析库select方法实例——获取企业信息
- 实战Vue:基于Vue的移动端购物车单界面实现
- CS224N刷题——Assignment3.2_Recurrent neural nets for NER
- sql插入数据的方式
- 计算机音量控制器打不开,我的电脑打不开音量控制器.怎么办?
- Linux安装JDK步骤
- python超声检测成像仿真_- 深度体验树莓派3:实操用Python驱动超声测距模块
- java pdf添加图片_Java 给 PDF 设置背景图片
- 2016年美团校园招聘数据开发工程师笔试编程题
- [转]考古学家完颜晓炜——人类曾经真…
- electron 自定义标题栏_如何在Electron Framework中创建自定义标题栏(灵感来自Visual Studio Code标题栏)...
- jquery 鼠标滚轮实现图片缩放
- CodeForces - 855B - Marvolo Gaunt's Ring(线段树 or DP)
- Java Web中涉及的编解码
- 批量作业调度工具 Taskctl 定时器及模块之间的区别
- 《JUC并发编程 - 基础篇》JUC概述 | Lock接口 | 线程间通信 | 多线程锁 | 集合线程安全