密码学:位移密码加密、解密matlab实现

一、matlab实现:自定义函数

function text=trans_cipher(strText,operation,key)
%%%   对明(密)文采用位移密码进行加(解)密;
%%%   明文(密文):strText  (字符串形式!!!);
%%%   操作方式: operation  (加密:‘encrypt’... 解密: 'decrypt' ),二选一;
%%%   密钥:key。strText=upper(strText);
n=length(strText);
if operation =='encrypt'& nargin==3   %% 加密for i=1:nstrText(i)=char(65+mod(strText(i)-65+key,26));endtext=strText;
elseif operation =='decrypt'& nargin==3    %% 解密for i=1:nstrText(i)=char(65+mod(strText(i)-65-key,26));endtext=strText;
elseif operation =='decrypt'& nargin==2      %% 遍历穷尽解密(key未知)text=cell(26,2);for j=1:26for i=1:length(strText)strText(i)=char(65+mod(strText(i)-66,26));endtext{j,1}=j;text{j,2}=strText;end
else    %% 其他情况,增强程序鲁棒性disp('参数输入错误,请检查后重试')
end
end

二、实例验证

例1:

例2:

位移密码加密、解密matlab实现相关推荐

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

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

  2. 凯撒密码加密解密——Java代码(密码学)

    凯撒密码加密解密--Java代码(密码学) 凯撒密码: 恺撒密码(英语:Caesar cipher),或称恺撒加密.恺撒变换.变换加密,是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文 ...

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

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

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

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

  5. 凯撒密码加密解密C语言详细代码

    凯撒密码加密解密C语言详细代码 凯撒密码 又叫循环移位密码.它的加密方法,就是将明文中的每个字母用此字符在字母表中后面第k个字母替代.它的加密过程可以表示为下面的函数: E(m)=(m+k) mod ...

  6. VIP品会密码加密解密与登录

    上班都快一周了,一直想更新,奈何小伙还没有从假期的快乐中缓过来,今天终于耐下心来更新一小篇.抠一下某品会的JS代码,接着使用抠取的JS代码加密密码进行登录.友情提示:为避免不必要的纠纷,本文中所有网址 ...

  7. 单表代换密码加密解密

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

  8. C++凯撒密码加密解密算法

    一.算法描述 凯撒密码的加密解密算法,逻辑很简单,就是两个公式: 比如说下面这个例子的加密解密公式,就是位移量为3时的结果 加密公式 f(a)=(a+3) mod 26 解密公式 f(a)=(a+23 ...

  9. Python-摩斯密码加密解密

    文章目录 前言 一.摩斯密码表 [1]. encode.txt [2]. decode.txt 二.代码 前言 密码表只写了英文字母和数字,在百度的时候发现不同地方写的符号转换方式不大一样. 你也可以 ...

  10. Python编程:实现凯撒密码加密解密

    凯撒密码 原理: 通过把字母移动一定的位数来实现加解密 明文中的所有字母从字母表向后(或向前)按照一个固定步长进行偏移后被替换成密文. 例如: 当步长为3时,A被替换成D,B被替换成E,依此类推,X替 ...

最新文章

  1. 规则引擎 drools_为什么要用规则引擎?
  2. php动态修改配置文件
  3. 总结一些关于操作数据库是sql语句还是存储过程问题
  4. php用于防SQL注入的几个函数
  5. linux下载pycharm_django开发-使用pycharm进行远程开发
  6. python爬虫天气实例scrapy_2017.08.04 Python网络爬虫之Scrapy爬虫实战二 天气预报...
  7. 进程和线程的深入理解
  8. 编译openjdk时cygwin需要下载的内容
  9. 【数据库--db4o 介绍】
  10. cefsharp修改html元素,CefSharp网页元素点击
  11. 【git学习】解决git提交代码时报错: Unable to create ‘XXX/.git/index.lock‘: File exists.
  12. Java使用IKAnalyzer实现多关键字查询
  13. 好东西,就要一起分享。
  14. 自动化攻击背景下的过去、现在与未来
  15. Xilinx 7系列FPGA之Virtex-7产品简介
  16. 数据分析思维分析方法和业务知识——实战案例跨境电商行业
  17. 2019年,React 开发者应该掌握的 22 种神奇工具
  18. win2K3安装sql2000提示“安装程序配置服务器失败”的常见解决办法
  19. 【苹果推群发】苹果相册推广告协议应用程序将被发送到服务器
  20. 7 张图带你搞懂二层和三层交换机之间的区别

热门文章

  1. linux livecd 挂载硬盘,网上的Ubuntu LiveCD硬盘安装方法
  2. UI美化APICLOUD千月影视APP源码
  3. python3中pygame安装过程(超级详细)
  4. linux 一些好用的软件
  5. NBU备份恢复Vmware
  6. 485通讯接口与232接口的区别
  7. 谷歌浏览器截取长屏幕(全屏截图)
  8. 商城商品的知识图谱构建
  9. 办公软件 excle word 技巧 教程 电子书 免费 下载
  10. 腾达u12如何安装linux驱动,Centos7 安装腾达U12驱动无线网卡