pascal加密解密字符
答案:2 悬赏:0 手机版
解决时间 2021-02-25 20:11
- 提问者网友:未信
- 2021-02-24 21:40
pascal加密解密字符
最佳答案
- 五星知识达人网友:狂恋
- 2021-02-24 22:15
以下加密程序,原理是利用字符偏移达到加密效果。比如a向后偏移2个位置就是c,这样原来有意义的字符串,经过偏移后会变得面目全非。
程序运行时,首先输入一个加密数字(偏移量),再输入原文。
program jiami; //加密程序
var s1,s2:string;
t:byte;
p,i:shortint;
begin
writeln('password number:');
readln(p);
writeln('input string:');
readln(s1);
for i:=1 to length(s1) do
begin
t:=ord(s1[i]) + p;
if t>126 then t:=t-126+31;
s2[i]:=chr(ord(t));
s2:=s2+s2[i];
end;
writeln('output string:');
write(s2);
end.
————————————————————————————
以下为解密程序,可将上面加密程序生成的字符串还原为本来的字符串。
程序运行时,首先输入一个解密数字(偏移量),再输入密文。
program jiemi; //解密程序
var s1,s2:string;
t:byte;
p,i:shortint;
begin
writeln('password number:');
readln(p);
writeln('input string:');
readln(s1);
for i:=1 to length(s1) do
begin
t:=ord(s1[i]) - p;
if t<32 then t:=32-t+125;
s2[i]:=chr(ord(t));
s2:=s2+s2[i];
end;
writeln('output string:');
write(s2);
end.
———————————————————
以下为加解密一体机,既可加密也可解密。原理是利用xor(异或)运算实现。异或运算有个特点,一次异或得密文,再次异或得原文。
program jiajiemi;
var s1,s2:string;
t:byte;
p,i:shortint;
begin
writeln('password number:');
readln(p);
writeln('input string:');
readln(s1);
for i:=1 to length(s1) do
begin
t:=ord(s1[i]) xor p;
s2[i]:=chr(ord(t));
s2:=s2+s2[i];
end;
writeln('output string:');
write(s2);
end.
程序运行时,首先输入一个加密数字(偏移量),再输入原文。
program jiami; //加密程序
var s1,s2:string;
t:byte;
p,i:shortint;
begin
writeln('password number:');
readln(p);
writeln('input string:');
readln(s1);
for i:=1 to length(s1) do
begin
t:=ord(s1[i]) + p;
if t>126 then t:=t-126+31;
s2[i]:=chr(ord(t));
s2:=s2+s2[i];
end;
writeln('output string:');
write(s2);
end.
————————————————————————————
以下为解密程序,可将上面加密程序生成的字符串还原为本来的字符串。
程序运行时,首先输入一个解密数字(偏移量),再输入密文。
program jiemi; //解密程序
var s1,s2:string;
t:byte;
p,i:shortint;
begin
writeln('password number:');
readln(p);
writeln('input string:');
readln(s1);
for i:=1 to length(s1) do
begin
t:=ord(s1[i]) - p;
if t<32 then t:=32-t+125;
s2[i]:=chr(ord(t));
s2:=s2+s2[i];
end;
writeln('output string:');
write(s2);
end.
———————————————————
以下为加解密一体机,既可加密也可解密。原理是利用xor(异或)运算实现。异或运算有个特点,一次异或得密文,再次异或得原文。
program jiajiemi;
var s1,s2:string;
t:byte;
p,i:shortint;
begin
writeln('password number:');
readln(p);
writeln('input string:');
readln(s1);
for i:=1 to length(s1) do
begin
t:=ord(s1[i]) xor p;
s2[i]:=chr(ord(t));
s2:=s2+s2[i];
end;
writeln('output string:');
write(s2);
end.
全部回答
- 1楼网友:笑迎怀羞
- 2021-02-24 23:23
。。你想要问什么?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯