位移密码加密、解密matlab实现
密码学:位移密码加密、解密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实现相关推荐
- 维吉尼亚密码加密/解密在线工具
维吉尼亚密码加密/解密在线工具,工具链接:http://www.atoolbox.net/Tool.php?Id=856 维吉尼亚密码是在凯撒密码基础上产生的一种加密方法,它将凯撒密码的全部25种位移 ...
- 凯撒密码加密解密——Java代码(密码学)
凯撒密码加密解密--Java代码(密码学) 凯撒密码: 恺撒密码(英语:Caesar cipher),或称恺撒加密.恺撒变换.变换加密,是一种最简单且最广为人知的加密技术.它是一种替换加密的技术,明文 ...
- 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语言详细代码 凯撒密码 又叫循环移位密码.它的加密方法,就是将明文中的每个字母用此字符在字母表中后面第k个字母替代.它的加密过程可以表示为下面的函数: E(m)=(m+k) mod ...
- VIP品会密码加密解密与登录
上班都快一周了,一直想更新,奈何小伙还没有从假期的快乐中缓过来,今天终于耐下心来更新一小篇.抠一下某品会的JS代码,接着使用抠取的JS代码加密密码进行登录.友情提示:为避免不必要的纠纷,本文中所有网址 ...
- 单表代换密码加密解密
单表代换密码加密解密原理: 单表代换是指英文字母在进行密码编码替换的时候,有一张对照表,也就是说,对于每一个字母,都是唯一对应的,如: 26个源字母表为:abcdefghijklmnopqrstuvw ...
- C++凯撒密码加密解密算法
一.算法描述 凯撒密码的加密解密算法,逻辑很简单,就是两个公式: 比如说下面这个例子的加密解密公式,就是位移量为3时的结果 加密公式 f(a)=(a+3) mod 26 解密公式 f(a)=(a+23 ...
- Python-摩斯密码加密解密
文章目录 前言 一.摩斯密码表 [1]. encode.txt [2]. decode.txt 二.代码 前言 密码表只写了英文字母和数字,在百度的时候发现不同地方写的符号转换方式不大一样. 你也可以 ...
- Python编程:实现凯撒密码加密解密
凯撒密码 原理: 通过把字母移动一定的位数来实现加解密 明文中的所有字母从字母表向后(或向前)按照一个固定步长进行偏移后被替换成密文. 例如: 当步长为3时,A被替换成D,B被替换成E,依此类推,X替 ...
最新文章
- 规则引擎 drools_为什么要用规则引擎?
- php动态修改配置文件
- 总结一些关于操作数据库是sql语句还是存储过程问题
- php用于防SQL注入的几个函数
- linux下载pycharm_django开发-使用pycharm进行远程开发
- python爬虫天气实例scrapy_2017.08.04 Python网络爬虫之Scrapy爬虫实战二 天气预报...
- 进程和线程的深入理解
- 编译openjdk时cygwin需要下载的内容
- 【数据库--db4o 介绍】
- cefsharp修改html元素,CefSharp网页元素点击
- 【git学习】解决git提交代码时报错: Unable to create ‘XXX/.git/index.lock‘: File exists.
- Java使用IKAnalyzer实现多关键字查询
- 好东西,就要一起分享。
- 自动化攻击背景下的过去、现在与未来
- Xilinx 7系列FPGA之Virtex-7产品简介
- 数据分析思维分析方法和业务知识——实战案例跨境电商行业
- 2019年,React 开发者应该掌握的 22 种神奇工具
- win2K3安装sql2000提示“安装程序配置服务器失败”的常见解决办法
- 【苹果推群发】苹果相册推广告协议应用程序将被发送到服务器
- 7 张图带你搞懂二层和三层交换机之间的区别