飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 5945|回复: 16

招聘版主!(由于题目过于简单,本题作废)

[复制链接]

该用户从未签到

发表于 2006-8-29 19:30:24 | 显示全部楼层 |阅读模式
本版块目前虽然有2个版主,但似乎工作都没做好。

故想借着此贴,再招聘1、2个版主。(需:有能力、责任心、热心和有足够的时间管理及帮助其他网友。。。)

考核题目:(需完成以下题目,最好是delphi)

编写一个加密解密算法,其算法要求如下(代换算法):

相对比较简单,就是对字母表中的每个字母,用它之后的第3个字母来代换,如:

明文:meet me after the toga party

密文:phhw ph diwhu wkh wrjd sduwb

字母表是循环的,即认为紧随Z后的是字母A。可通过列出所有的可能来定义变换:

明文:a b c d e f g h i j k l m n o p q r s t u v w x y z

密文:d e f g h i j k l m n o p q r s t u v w x y z a b c

[ 本帖最后由 秋风下的落叶 于 2006-8-30 11:42 编辑 ]
PYG19周年生日快乐!

该用户从未签到

发表于 2006-8-29 20:42:43 | 显示全部楼层
呵呵,要求很简单啊,仅是加密部分。。。。。。。。
修正了空格的判断。。。。。。。。。
  1. #include <stdio.h>
  2. #include <stdlib.h>

  3. int main(int argc, char *argv[])
  4. {
  5.   char s[100];
  6.   int i=0;
  7.   gets(s);
  8.   for(i=0;i<strlen(s);i++)
  9.   {
  10.       if((s[i]==' ') continue;
  11.       if((s[i]>='a')&&(s[i]<='z'))
  12.       s[i]=(s[i]-'a'+3)%26+'a';
  13.      else if((s[i]>='A')&&(s[i]<='Z')) s[i]=(s[i]-'A'+3)%26+'A';
  14.      else
  15.      {
  16.          printf("Error\n");
  17.          system("PAUSE");
  18.          exit(1);
  19.      }     
  20.   }
  21.   puts(s);
  22.   system("PAUSE");       
  23.   return 0;
  24. }
复制代码

[ 本帖最后由 caterpilla 于 2006-8-30 09:27 编辑 ]
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-2-26 08:32
  • 签到天数: 19 天

    [LV.4]偶尔看看III

    发表于 2006-8-29 21:16:03 | 显示全部楼层
    版主“招兵买马”,是偶等菜鸟的福音。

    支持!!!
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-8-29 22:58:47 | 显示全部楼层
    期待更多的高手教导我等菜鸟。。
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2006-8-30 08:00:17 | 显示全部楼层
    楼上的测试不成功~~
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-12-11 20:17
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2006-8-30 09:24:05 | 显示全部楼层
    呵呵...凯撒加密算法,去年研究过。。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-8-30 09:24:43 | 显示全部楼层
    原帖由 laomms 于 2006-8-30 08:16 发表


    不是不成功,而是论坛发贴的时候把" "给抹掉了,而且把" " 后的字都变成了歪斜,不知道怎么回事.放上原码.
    StrName 变成了StrName,后面的字符就变成了斜体.

    顺便说一下,caterpilla 兄发 ...

    确实如此,呵呵,谢谢兄弟:P 。。。。。。。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-8-30 09:32:37 | 显示全部楼层

    粗略点评

    两种方法编程方法的异同:
    laomms 兄用的是查表的方法,列出了明码与密码的对应表,程序中直接对应替换就好了。这种方法可以任意规定明密码的对应关系。不过明密码目前在程序中是可见的。
    我的方法是根据算法通过计算得到结果,但需要算法有一定的规律性才可程序实现。如果没规律,也只能查表了。
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2006-8-30 10:33:52 | 显示全部楼层
    原帖由 laomms 于 2006-8-30 10:12 发表
    防止明码,用ASCII码表示字符,也可以到一定的作用:
    bac= Chr(98)+chr(97) +chr(99)
    看到只是989799,当然专门写个字符串转换函数更好.

    有道理,密码表的保护是个问题,呵呵。。。。。。。。
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2006-8-30 11:05:11 | 显示全部楼层
    发现:laomms 兄弟还是比较热心的,有没有兴趣做版主~~
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表