博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
序列加密
阅读量:6672 次
发布时间:2019-06-25

本文共 1098 字,大约阅读时间需要 3 分钟。

现在字符序列 char buf[] = “hello everyone”;

按行读的话,肯定可以读出数据,如果按列来读话,则会出再乱码的现像。正是这种现

像可作为一种加密手段,称为序列加密。

1 #include 
2 #include
3 #include
4 char *encode(char *str, int column);//加密函数 5 char **get2DMem(int row, int column);//获得二维空间 6 char *decode(char* str, int column);//解密函数 7 int main(void) 8 { 9 char *str="hello world!!"; 10 int column=5; 11 char *secret=encode(str,column); 12 printf("encode=%s\n",secret); 13 str=decode(secret,column); 14 printf("decode=%s\n",str); 15 return 0; 16 } 17 //加密函数 18 char *encode(char *str, int column) 19 { 20 int len=strlen(str);//原始长度 21 int secretLen=0;//由于是二维序列加密,是吧一个字符串按行存储到一个二维空间中, 22 if(len%column!=0)//后按列读取就是密文,如果最后一行字符串填不满,则自己拿什么字符补齐 23 secretLen=len+(column-len%column);//计算经过处理后的字符串长度 24 else 25 secretLen=len; 26 char *temp=(char *)calloc(secretLen+1, sizeof(char)); 27 strcpy(temp,str); 28 int i=0; 29 for(i=len;i

切记用字符指针访问字符串的时候,一定是*p,而不能犯迷糊搞成p之类的,这样访问必然出问题

转载于:https://www.cnblogs.com/luojialin/p/4782313.html

你可能感兴趣的文章
计算机安全篇1
查看>>
drawable 如何单个设置边界
查看>>
Nachos File System
查看>>
tomcat远程调试、普通java程序远程调试
查看>>
python day11
查看>>
office 2013-word选项配置参数
查看>>
Hadoop调试源代码
查看>>
Hanoi塔算法c语言实现
查看>>
ecshop新会员注册邮件提醒管理员
查看>>
mysqldump实现mysql备份小脚本
查看>>
JQuery--实用技巧总结
查看>>
语言,编程语言
查看>>
Redis事务处理
查看>>
C# []、List、Array、ArrayList 区别及应用
查看>>
继续说一下js对数组的处理---删除某个指定元素的方法
查看>>
data truncated for column at row 1原因
查看>>
java 关键字
查看>>
linux io过程自顶向下分析
查看>>
UNIX 技巧: UNIX 高手的另外10个习惯
查看>>
Oracle数据库查询锁表
查看>>