《2022年实训一编程实现Caesar密码 2.pdf》由会员分享,可在线阅读,更多相关《2022年实训一编程实现Caesar密码 2.pdf(3页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。
1、实训一:编程实现Caesar 密码Caesar 密码算法如下:加密算法: c = E(m,k) = (m + k) mod q 解密算法: m = D(c,k) = (c - k) mod q 特定地 ( 恺撒密码):m = c = Zq , q = 26; 例: (k=3) 明文: meet me after the party 密文: phhw ph diwhu wkh sduwb 开发环境: C free 要求 : 1、 每组均要实现加密和解密算法。2、 程序代码文件名为“组长姓名.C” 。在程序的第一段加注释,写明组员分工情况。3、 在下课之前提交。附: C 语言字符串处理由于 c 语
2、言不支持字符串这种变量类型,所以, 只好用字符数组来实现它的功能。字符串是最后一个字符为NULL字符的字符数组。例如:char cArr = Q, U, A, N, X, U, E, 0; / 因为最后有 NULL ,所以这就变成了字符串gets()和 puts()是字符串的输入输出,是标准函数,在stdio.h中被定义。字符串常用函数:strlen()函数求字符串长度。函数名 : stpcpy 功能 : 拷贝一个字符串到另一个用法 : char *stpcpy(char *destin, char *source); 程序例 : #include #include int main(void
3、) char string10; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 3 页 - - - - - - - - - char *str1 = abcdefghi; stpcpy(string, str1); printf(%sn, string); return 0; 函数名 : strcat 功能 : 字符串拼接函数用法 : char *strcat(char *destin, char *source); 程序例 : #include #include in
4、t main(void) char destination25; char *blank = , *c = C+, *Borland = Borland; strcpy(destination, Borland); strcat(destination, blank); strcat(destination, c); printf(%sn, destination); return 0; 函数名 : strupr 功能 : 将串中的小写字母转换为大写字母用法 : char *strupr(char *str); 程序例 : #include #include int main(void) ch
5、ar *string = abcdefghijklmnopqrstuvwxyz, *ptr; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 3 页 - - - - - - - - - /* converts string to upper case characters */ ptr = strupr(string); printf(%sn, ptr); return 0; 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 3 页 - - - - - - - - -