回首页 回首页 ◎ 设为首页  
◎ 收藏本站  
◎ 给我留言  
  
  首 页  C/C++教程  C++之父的FAQ  C/C++动向  C/C++源代码  C/C++误区  Unix/Linux  下载中心  乱七八糟  蚂蚁的Blog  
  当前位置:首 页 >> C/C++源代码 >> C/C++ 小程序 >> 简单加密程序源代码
最 近 更 新
[C++] 去除文件中重复的..
C++ Primer 第四版源代码
[C++] 不怕溢出的 sprintf
文件分割合并器(加入图..推荐
[C++] 简单垃圾回收器推荐
清除多余空格
[C++] dump file推荐
爱因斯坦阶梯问题
简单加密程序源代码
[C++] 最大公约数求解
最 新 推 荐
文件分割合并器(加入图..推荐
[C++] 简单垃圾回收器推荐
[C++] dump file推荐
热 门 排 行
简单加密程序源代码
爱因斯坦阶梯问题
C++ Primer 第四版源代码
[C++] dump file推荐
清除多余空格
文件分割合并器(加入图..推荐
[C++] 最大公约数求解
[C++] 简单垃圾回收器推荐
[C++] 去除文件中重复的..
[C++] 不怕溢出的 sprintf
站 内 搜 索

Web stdcpp.cn
关键词

搜索方式

搜索范围

精确匹配
广 告

简单加密程序源代码


来源:蚂蚁的 C/C++ 标准编程 作者:antigloss 等级:一般
发布于2006-01-10 17:19 被读9682次 【字体:

/*********************************************************
 *  A 变成 C,B 变成 D,a 变成 c,b 变成 d,Y 变成 A,
 *  z 变成 b,以此类推。非字母字符不变。
 *  最最最最最简单的加密程序
 *  输入 ^Z (ctrl + z) 退出
 *********************************************************/

#include <stdio.h>
#include <ctype.h>

int main(void)
{
    int c;
   
    while ( ( c = getchar() ) != EOF ) {
        if ( isalpha(c) ) {
            if ( isupper(c) ) {
                c = (c - 'A' + 2) % 26 + 'A';
            } else {
                c = (c - 'a' + 2) % 26 + 'a';
            }
        }
        putchar(c);
    }
   
    return 0;
}

本文版权归 蚂蚁的 C/C++ 标准编程 以及 作者 antigloss 共同所有,转载请注明原作者和出处。谢谢。



相关专题:暂无相关专题

上一篇:[C++] 最大公约数求解
下一篇:爱因斯坦阶梯问题

共有评论 26 条 网友评分 1分 查看全部评论

游客:初学@_@
评分:0
为什么不详细说明一下呢?
游客:antigloss
评分:3
注释不是已经说明了程序功能了吗?
还要详细说明什么呢?哪里看不明白?
游客:学习
评分:0
c = (c - 'A' + 2) % 26 + 'A'能详细说一下转换的过程吗
游客:沧海大
评分:0
利用ASCL码运算的吧
游客:antigloss
评分:5
ASCII 中, 字母是按顺序排列的. 程序要求输入的字母变成其前面第二个字母(如 A -- C); 如果超出了大写/小写字母范围, 则返回(如 z -- b). 也就是说, 可以把大写/小写字母看成是连成环状的. 减 'A' 是为了算出 c 是第几个大写字母, 加 2 是为了前进两位. 大写/小写字母分别都是 26 个, 模除 26 是为了实现超出范围时返回. 最后加 'A' 是为了还原成大写字母. 例如:
    c == 'Z' 时, c - 'A' == 25, 25 + 2 == 27, 27 % 26 == 1, 1 + 'A' == 'B'
游客:依雪
评分:3
我想问一下,这个程序是根据什么算法编出来的
有没有解密算法呢
游客:antigloss
评分:5
解密算法...基本上减2就可以了
游客:anonymous
评分:0
传统的替换密码

查看全部评论

【发表评论】 评分:1分 2分 3分 4分 5分


验证码:

Powered By Www.Xydw.COM Ver1.14 管理
Copyright © 2005-2006 蚂蚁的 C/C++ 标准编程 All Right Reserved. XCMS
粤ICP备06014124号   站长:Antigloss