题目描述
1、对输入的字符串进行加解密,并输出。
2加密方法为:
当内容是英文字母时则用该英文字母的后一个字母替换,同时字母变换大小写,如字母a时则替换为B;字母Z时则替换为a;
当内容是数字时则把该数字加1,如0替换1,1替换2,9替换0;
其他字符不做变化。
3、解密方法为加密的逆过程
<code>#ifndef _ENCRYPTUNENCRYPT_</code>
<code>#define _ENCRYPTUNENCRYPT_</code>
<code>/*================================ Macros ===================================*/</code>
<code>#define FALSE 0</code>
<code>#define TURE 1</code>
<code>/*============================= Include Function ===============================*/</code>
<code>int</code> <code>Encrypt (</code><code>char</code> <code>aucPassword[], </code><code>char</code> <code>aucResult[]);</code>
<code>int</code> <code>unEncrypt (</code><code>char</code> <code>result[], </code><code>char</code> <code>password[]);</code>
<code>#endif //_ENCRYPTUNENCRYPT_</code>
<code>/*============================= Include Files ===============================*/</code>
<code>#include"encryptUnencrypt.h"</code>
<code>#include<string.h></code>
<code>/*****************************************************************************/</code>
<code>/*函数名:oneCharEncrypt*/</code>
<code>/*函数入口参数:要加密的数组*/</code>
<code>/*函数返回值:标识函数是否成功完成*/</code>
<code>/*函数功能:实现对一个字符串的加密*/</code>
<code>static</code> <code>char</code> <code>oneCharEncrypt(</code><code>char</code> <code>ch)</code>
<code>{</code>
<code> </code><code>if</code><code>((ch >= </code><code>'a'</code><code>) && (ch <=</code><code>'z'</code><code>))</code>
<code> </code><code>{</code>
<code> </code><code>ch -= 32;</code>
<code> </code><code>if</code><code>(</code><code>'Z'</code> <code>== ch)</code>
<code> </code><code>{</code>
<code> </code><code>ch = </code><code>'a'</code><code>;</code>
<code> </code><code>}</code>
<code> </code><code>else</code>
<code> </code><code>ch += 1;</code>
<code> </code><code>}</code>
<code> </code><code>else</code> <code>if</code><code>((ch >= </code><code>'A'</code><code>) && (ch <= </code><code>'Z'</code><code>))</code>
<code> </code><code>ch += 32;</code>
<code> </code><code>if</code><code>(</code><code>'z'</code> <code>== ch)</code>
<code> </code><code>else</code> <code>if</code><code>((ch >= </code><code>'0'</code><code>) && (ch <= </code><code>'9'</code><code>))</code>
<code> </code><code>if</code><code>(</code><code>'9'</code> <code>== ch)</code>
<code> </code><code>ch = </code><code>'0'</code><code>;</code>
<code> </code>
<code> </code><code>else</code>
<code> </code><code>return</code> <code>ch;</code>
<code> </code><code>return</code> <code>ch;</code>
<code>}</code>
<code>/*函数名:Encrypt*/</code>
<code>/*函数入口参数:加密和未加密两个数组*/</code>
<code>/*函数功能:实现对字符串的加密*/</code>
<code>int</code> <code>Encrypt(</code><code>char</code> <code>aucPassword[], </code><code>char</code> <code>aucResult[])</code>
<code> </code><code>int</code> <code>index = 0;</code>
<code> </code><code>//求取要加密数组长度</code>
<code> </code><code>int</code> <code>sizeArr = </code><code>strlen</code><code>(aucPassword);</code>
<code> </code><code>//依次加密</code>
<code> </code><code>for</code><code>(;index < sizeArr;index++)</code>
<code> </code><code>aucResult[index] = oneCharEncrypt(aucPassword[index]); </code>
<code> </code><code>return</code> <code>TURE;</code>
<code>/*函数名:oneCharUnencrypt*/</code>
<code>/*函数入口参数:要解密的数组*/</code>
<code>/*函数功能:实现对一个字符串的解密*/</code>
<code>static</code> <code>char</code> <code>oneCharUnencrypt(</code><code>char</code> <code>ch)</code>
<code> </code><code>ch -= 33;</code>
<code> </code><code>ch += 31;</code>
<code> </code><code>if</code><code>(</code><code>'0'</code> <code>== ch)</code>
<code> </code><code>ch = </code><code>'9'</code><code>;</code>
<code> </code><code>ch -= 1;</code>
<code> </code><code>} </code>
<code>/*函数名:unEncrypt*/</code>
<code>/*函数功能:实现对字符串的解密*/</code>
<code>int</code> <code>unEncrypt(</code><code>char</code> <code>result[], </code><code>char</code> <code>password[])</code>
<code> </code><code>//解密字符串的长度</code>
<code> </code><code>int</code> <code>sizeArr = </code><code>strlen</code><code>(password);</code>
<code> </code><code>//依次解密</code>
<code> </code><code>result[index] = oneCharUnencrypt(password[index]);</code>
本文转自 8yi少女的夢 51CTO博客,原文链接:http://blog.51cto.com/zhaoxiaohu/1751676,如需转载请自行联系原作者