第八周项目4——字符串加密
来源:互联网 发布:怎样入驻淘宝达人 编辑:程序博客网 时间:2024/05/17 02:33
/**Copyright (c) 2015,烟台大学计算机学院*All right reserved.*文件名称:test.cpp*作者:王雪洁*完成日期:2015年10月26日*版本号:v1.0*问题描述:一个文本串可用事先编制好的字符映射表进行加密。例如,设字符映射表为:abcdefghijklmnopqrstuvwxyzngzqtcobmuhelkpdawxfyivrsj1 则字符串“lao he jiao shu ju jie gou”被加密为“enp bt umnp xby uy umt opy”。 设计一个程序,实现加密、解密算法,将输入的文本进行加密后输出,然后进行解密并输出。*/
头文件源文件参考 顺序串算法库
main函数代码
#include <stdio.h>#include "sqString.h"SqString A,B; //用于存储字符映射表SqString EnCrypt(SqString p){ int i=0,j; SqString q; while (i<p.length) { for (j=0; p.data[i]!=A.data[j]; j++); if (j>=p.length) //在A串中未找到p.data[i]字母 q.data[i]=p.data[i]; else //在A串中找到p.data[i]字母 q.data[i]=B.data[j]; i++; } q.length=p.length; return q;}SqString UnEncrypt(SqString q){ int i=0,j; SqString p; while (i<q.length) { for (j=0; q.data[i]!=B.data[j]; j++); if (j>=q.length) //在B串中未找到q.data[i]字母 p.data[i]=q.data[i]; else //在B串中找到q.data[i]字母 p.data[i]=A.data[j]; i++; } p.length=q.length; return p;}int main(){ SqString p,q; StrAssign(A,"abcdefghijklmnopqrstuvwxyz"); //建立A串 StrAssign(B,"ngzqtcobmuhelkpdawxfyivrsj"); //建立B串 char str[MaxSize]; printf("\n"); printf("输入原文串:"); gets(str); //获取用户输入的原文串 StrAssign(p,str); //建立p串 printf("加密解密如下:\n"); printf(" 原文串:"); DispStr(p); q=EnCrypt(p); //p串加密产生q串 printf(" 加密串:"); DispStr(q); p=UnEncrypt(q); //q串解密产生p串 printf(" 解密串:"); DispStr(p); printf("\n"); return 0;}
运行结果:
知识点总结:
利用顺序串算法对字符加密处理。
学习心得:
了解了加密,解密的算法,很有意思。
1 0
- 第八周项目4—字符串加密
- 第八周项目4—字符串加密
- 第八周项目4—字符串加密
- 第八周项目4—字符串加密
- 第八周上机实践—项目4—字符串加密
- 第八周项目4——字符串加密
- 第八周项目4——字符串加密
- 第八周项目4——字符串加密
- 第八周项目4——字符串加密
- 第八周项目4——字符串加密
- 第八周项目4——字符串加密
- 第八周实践项目4—字符串加密
- 第八周--项目4字符串加密
- 第八周 项目4 字符串加密
- 第八周 项目4 字符串加密
- 第八周 项目4-字符串加密
- 第八周项目4字符串加密
- 第八周项目4-字符串加密
- Mysql存储引擎InnoDB与Myisam的区别
- 释放掉一段内存空间后,然后呢?
- 求助文章
- 第九周--项目2对称矩阵压缩存储的实现与应用(1)
- eclipse或者SpringToolSuite里访问tomcat首页出现404错误解决之法
- 第八周项目4——字符串加密
- 设计模式在C语言中的应用--读nginx源码
- 【bzoj1823】【jsoi2010】【满汉全席】【2-sat】
- 慕课网app下拉刷新图标填充效果的实现
- 1020. 月饼 (25)
- python学习记录之1026
- Link
- easyui中combobox 验证输入的值必须为选项框中的数据
- Android Studio使用教程