飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 4806|回复: 10

[C/C++] 第七课字符串加解密的完整代码(6月7号修正解密函数BUG)

[复制链接]

该用户从未签到

发表于 2009-6-6 11:51:40 | 显示全部楼层 |阅读模式
视频十里边有时间就简单说一下 没时间就不讲了

问题估计都在这里 就是加密后 解密出现的问题 大家看一下代码自行理解一下

-------------------------------------------

/* 6月7号 修改解密函数 之前的代码 i>26 将出错 感谢梦回断情反馈 */

void JiaMi(char *str,int i)
{
    char *p=str;
    while(*p)
    {
        if(*p >='A' && *p<='Z'){ *p++=(*p-'A'+i+26)%26+'A'; continue; }
        if(*p >='a' && *p<='z'){ *p++=(*p-'a'+i+26)%26+'a'; continue; }
        p++;
    }
}

void JieMi(char * str,int i)
{
    JiaMi(str,-(i%26));     /* JiaMi(str,-i); */
}

main()
{
    char str[100];
    int i;
    printf("Shuru Zifuchuan:");
    gets(str);
    printf("Shuru Jiami: ");
    scanf("%d",&i);
    JiaMi(str,i);
    printf("JiamiHou JieGuo:");
    puts(str);
    JieMi(str,i);
    printf("JiemiHou JieGuo:");
    puts(str);
}

------------------------------------------------

C:\tc>test
Shuru Zifuchuan:ChinaPYG45555554dddddddaegavzmfaoe,.fadfouenfadfm,nakf
Shuru Jiami: 15
JiamiHou JieGuo:RwxcpENV45555554sssssssptvpkobupdt,.upsudjtcupsub,cpzu
JiemiHou JieGuo:ChinaPYG45555554dddddddaegavzmfaoe,.fadfouenfadfm,nakf
PYG19周年生日快乐!

该用户从未签到

发表于 2009-6-6 12:23:44 | 显示全部楼层
很精简的代码   
关键之处在于解密的地方 ,用到的是加密的函数,确实没有去细想,其实写解密函数的时候用的也是跟加密相反,但是却白白浪费时间去写出来,没有仔细想   惭愧
第二处好的地方就是加密的判断上  确实很精湛   学习下  /:014

[ 本帖最后由 unpack 于 2009-6-6 12:24 编辑 ]
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2022-4-1 09:59
  • 签到天数: 76 天

    [LV.6]常住居民II

    发表于 2009-6-6 15:02:32 | 显示全部楼层
    /:L 实在是差距呀,努力理解中.....
    我又重新测试了一下我写的代码,加密位数超过6以后就不能正确解密了/:010

    又重新感受了一下N大的代码,自己反复尝试了几次。。。。。

    [ 本帖最后由 theend 于 2009-6-6 15:22 编辑 ]
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-6-6 16:24:43 | 显示全部楼层
    *p++=(*p-'A'+i+26)%26+'A'; continue;
    该小程序的灵魂!

    NISY这句写得好简洁啊    一句话就搞定了    很强悍
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2017-10-25 13:07
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2009-6-6 17:05:39 | 显示全部楼层
    呵呵  有点像老大的的
    可是编辑不过来
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-6-6 21:01:14 | 显示全部楼层
    为什么人跟人之间差距就那么大呢???
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2021-3-27 09:12
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2009-6-6 21:40:57 | 显示全部楼层
    哇。看了老大的代码。才知道什么是真正的代码。。学习Ing。
    虽然自己笨,但是希望通过自己的努力+老大的教导。我们都能写出如此的代码
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2009-6-7 15:12:49 | 显示全部楼层
    小弟正在学习中
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2016-4-29 07:52
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2009-6-7 17:11:46 | 显示全部楼层
    提示: 作者被禁止或删除 内容自动屏蔽
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 438 天

    [LV.9]以坛为家II

    发表于 2009-6-8 07:46:24 | 显示全部楼层
    想透彻才能写的简明扼要,还是逻辑问题,学习了
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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