当前位置: 首页 > news >正文

shell整理(38)===凯撒加密和解密


实现如下图所示:

[root@localhost shell]# bash zong.sh 


==================凯撒加密解密==============================

1)输入字符串,进行凯撒加密(输入的字符串只能是字母、数字、空格)


2)已有加密后的字符串进行解密


3)退出

INPUT:q


shell代码如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#!/bin/bash
 
jiami(){
 
 
         echo  {a..z} |  xargs  -n1 > file
         echo  {a..z} {A..Z}  @ @  |  xargs  -n1 >> file
         read  -p  "Input:"  num
         num1=` echo  $num | sed  's/ /@/g'  tr  '0-9'  'A-J' `
         a=${ #num1}
         for  in  ` seq  $a`
         do
                  q=` echo  $num1 |  cut  -c $i`
                  w=` cat  -n  file  awk  '/' $q '/'  head  -1| awk  '{print $1}' `
                  w=$(($w+1))
                  d=` cat  file  sed  -n  '' $w 'p' `
                  echo  -n  "$d"
         done
         echo
 
 
}
 
jiemi(){
 
          echo  {a..z} |  xargs  -n1 > file
         echo  {a..z} {A..Z} {A..Z} @ @ |  xargs  -n1 >> file
         read  -p  "Input:"  num
         num1=` echo  $num | sed  's/@/@/g' `
         a=${ #num1}
         for  in  ` seq  $a`
         do
                 q=` echo  $num1 |  cut  -c $i`
                 w=` cat  -n  file  awk  '/' $q '/'  tail  -1| awk  '{print $1}' `
                 w=$(($w-1))
                 d=` cat  file  sed  -n  '' $w 'p' `
                 v =` echo  -n  "$d" `
                 echo  -n $ v  sed  's/@/ /g'  tr  'A-J'  '0-9'
         done
         echo
 
}
 
together(){
case   $choice  in
         1)
                 jiami
                 ;;
         2)
                 jiemi
                 ;;
         3)
                 exit  0
                 ;;
         *)       exit  0
                 ;;
esac
}
 
while  :
do
cat  << EOF
 
==================凯撒加密解密==============================
         1)输入字符串,进行凯撒加密(输入的字符串只能是字母、数字、空格)
 
         2)已有加密后的字符串进行解密
 
         3)退出
EOF
         read  -p  "INPUT:"  choice
 
         together
         echo
done

实现效果如下:

==================凯撒加密解密==============================

1)输入字符串,进行凯撒加密(输入的字符串只能是字母、数字、空格)


2)已有加密后的字符串进行解密


3)退出

INPUT:1

Input:a 123b

b@CDEc



==================凯撒加密解密==============================

1)输入字符串,进行凯撒加密(输入的字符串只能是字母、数字、空格)


2)已有加密后的字符串进行解密


3)退出

INPUT:2

Input:b@CDEc

a 123b


本文转自 大雪儿 51CTO博客,原文链接:http://blog.51cto.com/dingxue/1972182,如需转载请自行联系原作者

相关文章:

  • 使用embulk从Oracle抽取数据到trafodion
  • dubbo 服务中间件 的使用
  • [zabbix/自动发现规则]
  • 项目管理:项目中什么叫完成,传统瀑布开发与敏捷开发的完成标准是什么??...
  • php如何发post请求
  • let和var的一个问题
  • aix 查看占用内存高的进程
  • WIN7 U盘安装
  • [完美]原生JS获取浏览器版本判断--支持Edge,IE,Chrome,Firefox,Opera,Safari,以及各种使用Chrome和IE混合内核的浏览器...
  • MongoDB(课时10 数组)
  • vue+vuex+axios+echarts画一个动态更新的中国地图
  • 你绝不能错过的效率神器 —— Alfred
  • Clojure CLR 入门
  • 基于Metronic的Bootstrap开发框架经验总结(8)--框架功能总体界面介绍
  • 配置ssh免密码登陆配置和ssh原理
  • 【译】JS基础算法脚本:字符串结尾
  • Android组件 - 收藏集 - 掘金
  • Angular 响应式表单 基础例子
  • codis proxy处理流程
  • css属性的继承、初识值、计算值、当前值、应用值
  • happypack两次报错的问题
  • Java多态
  • Js基础知识(四) - js运行原理与机制
  • k8s 面向应用开发者的基础命令
  • leetcode46 Permutation 排列组合
  • Median of Two Sorted Arrays
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • Python连接Oracle
  • rabbitmq延迟消息示例
  • use Google search engine
  • vue-router 实现分析
  • 理解在java “”i=i++;”所发生的事情
  • 聊聊hikari连接池的leakDetectionThreshold
  • 用jquery写贪吃蛇
  • 自动记录MySQL慢查询快照脚本
  • ​configparser --- 配置文件解析器​
  • ###51单片机学习(1)-----单片机烧录软件的使用,以及如何建立一个工程项目
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (二)Linux——Linux常用指令
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (附源码)ssm考生评分系统 毕业设计 071114
  • (四)Android布局类型(线性布局LinearLayout)
  • (学习日记)2024.01.09
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • .java 指数平滑_转载:二次指数平滑法求预测值的Java代码
  • .NET/C# 中你可以在代码中写多个 Main 函数,然后按需要随时切换
  • .NET4.0并行计算技术基础(1)
  • .net连接oracle数据库
  • .NET上SQLite的连接
  • .NET下ASPX编程的几个小问题
  • .Net下的签名与混淆
  • [.net 面向对象程序设计进阶] (19) 异步(Asynchronous) 使用异步创建快速响应和可伸缩性的应用程序...
  • [Angularjs]asp.net mvc+angularjs+web api单页应用之CRUD操作
  • [BZOJ1877][SDOI2009]晨跑[最大流+费用流]
  • [C/C++]数据结构 栈和队列()