使用char表示的字符型数据,在本质上与我们前面介绍的整型数据并无太大的区别,只是char类型占用的内存字节数更小,能够表示的数据范围更小而已。在使用上,char被专门用来表示C语言的字符集中的各种字符,不要把它当成一个整型数据类型来使用。
对于字符类型,我们常常利用它来处理字符串中的单个字符或者是实现一些字符游戏。例如,我们可以对字符串中的单个字符进行运算,实现字符串的简单加密:

#include <stdio.h>
#include <string.h> // strlen()函数所在的头文件
#include <ctype.h> // isalpha()函数所在的头文件 int main()
{
// 定义一个明文字符串
char msg[] = "This is C program!";
int i = ;
// 逐个遍历字符串中的字符,对其进行处理
for(i=; i<strlen(msg); i++)
{
// 获得字符串中的当前字符
char cur = msg[i];
// 判断当前字符是否是字母字符
if(isalpha(cur))
// 对字母字符进行简单加密处理,然后重新写回字符串
msg[i] = cur +;
} // 输出加密后的字符串
printf("the encrypted message is: %s\n",msg); //解码
for(i=; i<strlen(msg); i++)
{
char c =msg[i];
if(isalpha(c))
{
msg[i] = c - ;
}
}
printf("the decrypted message is: %s\n",msg);
return ;
}

这样实现了C语言的简单加密和解密!

用C语言简单加密解密的更多相关文章

  1. JavaSE——装饰设计模式+简单加密解密工程

    2019独角兽企业重金招聘Python工程师标准>>> 声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权:凯哥学堂旨在促进VIP学员互相学习的基础 ...

  2. c# 如何利用异或运算进行简单加密解密

    利用“^”异或运算对字符串进行加密 原理:按位做“异或”运算是->位值相同得1,不同得0,如下计算 1 ^ 1 = 0 1 ^ 0 = 1 0 ^ 1 = 1 0 ^ 0 = 0 例如: < ...

  3. AES简单加密解密的方法实现

    package com.mstf.aes; import java.io.UnsupportedEncodingException; import java.security.InvalidKeyEx ...

  4. webconfig简单加密解密

    <?xml version="1.0"?><configuration> <configSections> <section name=& ...

  5. SQL SERVER 数据库字段简单加密解密

    --------加密函数----------- )) RETURNS varbinary(max) AS BEGIN declare @pwd varbinary(max) SELECT @pwd = ...

  6. php 简单加密解密

    <?php namespace App\Service; /* * @link http://kodcloud.com/ * @author warlee | e-mail:kodcloud@q ...

  7. Python_字符串简单加密解密

    def crypt(source,key): from itertools import cycle result='' temp=cycle(key) for ch in source: resul ...

  8. SM4加密算法实现Java和C#相互加密解密

    SM4加密算法实现Java和C#相互加密解密 近期由于项目需要使用SM4对数据进行加密,然后传给Java后台,Java后台使用的也是SM4的加密算法但是就是解密不正确,经过一步步调试发现Java中好多 ...

  9. Java实现一个简单的加密解密方法

    Crypto是Java语言写的一个简单的加密解密方法. 使用方法: 加密方法 String cipherte=Enande.encrypt(content, pass): 解密方法 Enande.de ...

随机推荐

  1. MATLAB 利用filter函数实现滑动平均滤波

      function [ y ] = moving_average( x, win_size ) y1=filter(ones(1,win_size/2+1)/win_size,1,x); y2=fi ...

  2. cocos中常用到的单例模式

    单例:即只有一个类对象,且提供全局的访问权限 特点: 1.构造函数私有 2.私有的静态成员指针,标识是否已产生了单例实例 3.提供一个getInstance()方法来获取单例对象 下面已打飞机中的子弹 ...

  3. mysql启动问题access denied for user 'root'@'localhost'(using password:YES)

    安装Mysql后利用SQLyogEnt启动是提示“access denied for user 'root'@'localhost'(using password:YES)”,开始我还为是因为是密码问 ...

  4. xml基础学习笔记04

    今天继续xml学习,主要是:SimpleXML快速解析文档.xml与数组相互转换 .博客中只是简单的做一个学习记录.积累.更加详细的使用方法,可以查看php手册 1.SimpleXML快速解析文档 前 ...

  5. GCC笔记

    The History of GCC 1984年,Richard Stallman发起了自由软件运动,GNU (Gnu's Not Unix)项目应运而生,3年后,最初版的GCC横空出世,成为第一款可 ...

  6. 【Binary Tree Inorder Traversal】cpp

    题目: Given a binary tree, return the inorder traversal of its nodes' values. For example:Given binary ...

  7. iOS网络传输Delegate不被触发的本质原因

    NSURLSession一共有四种Delegate (文后附表有Session和SessionTask分类表格) NSURLSessionDelegate, NSURLSessionDownloadD ...

  8. Java Synchronized Blocks vs. Methods

    It's possible to synchronize both an entire method and a section of code within a method, and you ma ...

  9. Spring与apache CXF结合实例

    本文的前提是已经有一个Spring的项目,在此基础上如何跟apache CXF进行结合,开发出WebService服务和调用WebService服务. 1.开发WebService   1.引入jar ...

  10. javascript获取以及设置光标位置

    一. 获取光标位置: // 获取光标位置 function getCursortPosition (textDom) { var cursorPos = 0; if (document.selecti ...