使用java语言实现移位密码加密过程

Program Cipher:=
{

//加密子进程

subroutine encryption(plaintext,key):=
{

(String)plaintext->(char[])plaintext->index(97)
/*ascII 编码 a 97 b 98

  • “hello” -> {‘h’,‘e’,…} -> 102,120…
    *…x,y,z,a,b,…
    */

//加密算法
(index+key-26)%122 index+key>122,0<=key<=26,97<=inex<=122
(index+key)%122 97<=index+key<=122,0<=key<=26,97<=inex<=122

//ASCII码索引->字符串(加密后的信息)
index->String(ciphertext)
}

//解密子进程
subroutine decryption(ciphertext,key):=
{ //字符串->字符数组->ASCII码索引
(String)ciphertext->(char[])plaintext->index

//解密算法
//...,y,z,a,b,c,....
(index-key+26)%122   index-key<97, 0<=key<=26,97<=inex<=122	
(index-key)%122      97<=index-key<=122,0<=key<=26,97<=inex<=122

//ASCII码索引->字符串(解密后的信息)
index->String(plaintext)

}

main:main-program():=
{
//加密
encryption(plaintext,key); //offset

//解密
decryption(ciphertext,key);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值