字符串加解密

来源:互联网 发布:matlab高级编程 pdf 编辑:程序博客网 时间:2024/05/01 15:43

题目描述

1、对输入的字符串进行加解密,并输出。

2加密方法为:

  • 当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;

  • 当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;

  • 其他字符不做变化。

3、解密方法为加密的逆过程。

 

接口描述:

    实现接口,每个接口实现1个基本操作:

  • void Encrypt (char aucPassword[], char aucResult[]):在该函数中实现字符串加密并输出

说明:

1、字符串以\0结尾。

2、字符串最长100个字符。

 

  • int unEncrypt (char result[], char password[])在该函数中实现字符串解密并输出

说明:

1、字符串以\0结尾。

    2、字符串最长100个字符。


完整代码:

/******************************************************************************  Copyright (C), 2001-2011, Huawei Tech. Co., Ltd. ******************************************************************************  File Name     :   Version       :   Author        :   Created       : 2012/03/12  Last Modified :  Description   :   Function List :                History       :  1.Date        : 2012/03/12    Author      :     Modification: Created file******************************************************************************/#include <stdlib.h>#include <string.h>#include <stdio.h>//1、对输入的字符串进行加解密,并输出。////2加密方法为://当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;//当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;//其他字符不做变化。////3、解密方法为加密的逆过程。int Encrypt (char password[], char result[]){  /* 代码在这里实现 */    while(*password!='\0')    {      if(*password=='9')      {        *result++='0';        password++;      }      else if(*password>='0'&&*password<'9')      {        *result++=*password+1;        password++;      }      else if(*password=='Z')      {        *result++='a';        password++;      }      else if(*password=='z')      {        *result++='A';        password++;      }      else if(*password>='A'&&*password<'Z')      {        *result++=*password+33;        password++;      }            else if(*password>='a'&&*password<'z')      {        *result++=*password-31;        password++;      }      else         *result++=*password++;            }    *result='\0';  return 0;}int unEncrypt (char result[], char password[]){  /* 代码在这里实现 */   while(*result!='\0')    {      if(*result>='1'&&*result<='9')       {        *password++=*result-1;        result++;      }      else if(*result=='0')      {        *password++='9';        result++;      }      else if(*result>='b'&&*result<='z')      {        *password++=*result-33;        result++;      }      else if(*result=='a')      {        *password++='Z';        result++;      }      else if(*result>='B'&&*result<='Z')      {        *password++=*result+31;        result++;      }      else if(*result=='A')      {        *password++='z';        result++;      }      else        *password++=*result++;    }    *password='\0';  return 0;}


0 0
原创粉丝点击