单表代换密码加密解密原理:

单表代换是指英文字母在进行密码编码替换的时候,有一张对照表,也就是说,对于每一个字母,都是唯一对应的,如:

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;
}

单表代换密码加密解密相关推荐

  1. JS实现单表代换密码加密

    单表代换加密算法是比较经典的加密算法,事先准备好字母代换的相应对照表,即可实现加密解密,这里我们用JS进行实现. 明文字母与密文字母对应关系: 明文 a b c d e f g h i j k l m ...

  2. 单表代换密码之Caesar密码的代码实现

    单表代换密码之Caesar密码的代码实现 代码块 代码块语法遵循标准markdown代码,例如: from operator import mod #ceasar加密算法 def ceasarC(a) ...

  3. 单表代换密码(凯撒密码)

    单表代换密码概述 对所有的明文字母都用一个固定的代换进行加密 ,因而称为 单表代换密码.加密过程中是从明文字母表到密文字母表的一一映射.例: 恺撒(Caesar)密码. 缺点:不能抗击字母频度分析,容 ...

  4. 密码加密解密(三)——仿射密码设计

    代换密码算法的原理是使用替代法进行加密,就是将明文中的字符用其它字符替代后形成密文.例如,明文字母a.b.c.d,用D.E.F.G做对应替换后形成密文. 代换密码包括多种类型,如单表代换密码.多表代换 ...

  5. 单表置换密码java代码实现_单表替换密码

    要求: 实现单表替换密码,用键盘接收明文和密钥,屏幕答应替换表和密文,大小写敏感,输入健壮性. 实际问题: 密钥处理应该是这个程序的重点,加密和解密都没有什么要注意的地方.用key[]数组接收keyt ...

  6. 维吉尼亚密码加密/解密在线工具

    维吉尼亚密码加密/解密在线工具,工具链接:http://www.atoolbox.net/Tool.php?Id=856 维吉尼亚密码是在凯撒密码基础上产生的一种加密方法,它将凯撒密码的全部25种位移 ...

  7. NSSCTF刷题wp——单表替换密码

    NSSCTF Crypto 模块 单表替换密码 [HGAME 2022 week1]Matryoshka ID:1855 打开Matryoshka.txt,发现是一堆点,看标签可能是Braille盲文 ...

  8. python中字符移位加密_1.1 移位密码加密解密python实现

    例题1.1 移位密码加密解密 1.1.使用穷尽密钥搜索法破译如下利用移位密码加密的密文: ESPESTCOPIPCNTDPYPPODACZRCLXXTYR. 1.1答案: K=11,明文序列为: th ...

  9. php加密密码解析,php密码加密解密

    php密码加密解密 龙行    PHP    2020-3-19    1002    0评论 function MD5PWD($data) { $pwd = md5($data); //把密码分割成 ...

最新文章

  1. c语言程序设计编程解读,C语言程序设计第三次实验报告解读
  2. SQL Server 2005 cmd工具的使用
  3. number 限制最长数字_Java源码阅读-Number
  4. 洛谷 1341 无序字母对
  5. BeautifulSoup解析库select方法实例——获取企业信息
  6. 实战Vue:基于Vue的移动端购物车单界面实现
  7. CS224N刷题——Assignment3.2_Recurrent neural nets for NER
  8. sql插入数据的方式
  9. 计算机音量控制器打不开,我的电脑打不开音量控制器.怎么办?
  10. Linux安装JDK步骤
  11. python超声检测成像仿真_- 深度体验树莓派3:实操用Python驱动超声测距模块
  12. java pdf添加图片_Java 给 PDF 设置背景图片
  13. 2016年美团校园招聘数据开发工程师笔试编程题
  14. [转]考古学家完颜晓炜——人类曾经真…
  15. electron 自定义标题栏_如何在Electron Framework中创建自定义标题栏(灵感来自Visual Studio Code标题栏)...
  16. jquery 鼠标滚轮实现图片缩放
  17. CodeForces - 855B - Marvolo Gaunt's Ring(线段树 or DP)
  18. Java Web中涉及的编解码
  19. 批量作业调度工具 Taskctl 定时器及模块之间的区别
  20. 《JUC并发编程 - 基础篇》JUC概述 | Lock接口 | 线程间通信 | 多线程锁 | 集合线程安全

热门文章

  1. 138岁的柯达身陷区块链“骗币门”
  2. AWS snowball、Azure DataBox、Google GTA等云平台数据迁移总结
  3. C# 实现图片任意裁剪以及羽化功能
  4. 我是怎么选搜索引擎的
  5. 王垠:完全用Linux工作 (2003)
  6. 【Python】用Python检测电脑状态信息
  7. android sqllite使用笔记
  8. JAVA 判断图片像素大小的方法
  9. UI设计师必须知道的大厂设计规范
  10. LTE(4G) - NR(5G) RRC和NAS的区别