永发信息网

pascal加密解密字符

答案:2  悬赏:0  手机版
解决时间 2021-02-25 20:11
pascal加密解密字符
最佳答案
以下加密程序,原理是利用字符偏移达到加密效果。比如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.
全部回答
。。你想要问什么?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
滑铁卢大学建筑设计专业录取条件
走马灯似的是什么意思
达美口腔南宁覃红口腔诊所(天池山店)怎么去啊
对化学实验剩余药品,处理方法正确的是BA. 带
急需老师给同学的新年寄语。。
星巴克什么咖啡比较甜
吉顺能源金星站在哪里啊,我有事要去这个地方
水库南路/温南路(路口)在什么地方啊,我要过
西班牙用一种可以直接生吃的猪肉是什么
我们很相爱,可是我发现他欺骗我,想用一首诗
中国有哪些大山
牛仔裤掉裆怎么回事
安兴路/通达街(路口)地址有知道的么?有点事
男生对我很好,老是想牵我的手,但他说自己喜欢
你种过花吗?让我们一起养一盆美丽的风仙花吧
推荐资讯
帮我百度下 dota2 fy的id全称
名字缺木改为竹字头是否可以
为什么蔗糖不是还原糖
一圆滚动,圆心O到滚动结束后圆o’距离为2r(
江苏汇博思科技有限公司怎么去啊,有知道地址
如何在word中用正常的宋体字体输入生僻字
【夷狄】《春秋》中诸夏和夷狄有()的区别。A.
拨打电话提示关机,QQ走显示手机在线,如果是
兴安到猫儿山多少公里
怀安县燕兴酒业有限公司在什么地方啊,我要过
网易的文章怎么删?
【laid】lain,laid,lied,lay,lying的区别简单
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?