①将明文字符串s中的每个字母字符根据它所在该字符串的位置,往后移动相应的位置,并转化为对应的小写或大写字母(例如:大写字母A往后移动5位变成F,转化成小写字母得到f;小写字母y往后移动8位得到g,转化成大写字母得到G),非字母字符不处理,得到新串ss。
②将①得到的新串ss平均切割成两部分,若ss的长度n为奇数,则第一部分长度为n//2+1,第二部分长度为n//2。再将后面一段字母依次逐个插入前一段字符后边,组成一段密文。
例如“Good.Luck!”生成密文过程如下:
①明文字符串s移位和大小写转换过程:
下标位置 |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
原始字符 |
G |
o |
o |
d |
. |
L |
u |
c |
k |
! |
向后移动i位 |
H |
q |
r |
h |
. |
R |
b |
k |
t |
! |
大小写转换 |
h |
Q |
R |
H |
. |
r |
B |
K |
T |
! |
②将①得到的密文ss平均切割成两部分。
例如将上述①得到的字符串中6~10位置的字符依次逐个连接在1~5字符后面,生成密文如图a所示:
图a