源代码的控制、实现与合作

近期,我与另一个同伴正在负责编写一个对文件程序加密的程序,在编写过程中我们通过将一个大程序拆分成一个一个小程序,整个程序的目的是在于对一个电脑中的txt文件进行rsa加密。最后将生成一串二进制的密文输入到文件中。

首先我们将总的程序拆分成三个小程序,第一个是负责加密的汉子转二进制。

具体代码如下:#include<stdio.h>
#include<stdlib.h>
void conv(char *c)
{
    char ch[9] = {‘\0‘};
    int i;
    int j = 0;
    int count = 0;
    //char t[3] = {‘\0‘};
 //int a[32]={0,0,1,1,0,1,1,0,1,1,0,0,0,0,11,0,1,1,1,0,0,1,1,1,1,1,1,0,1,1,1};
    while(‘\0‘ != c[j])
    {
       for(i = 7;i >= 0;i--)
       { 
     ch[i] = (c[j]&1)+‘0‘;
            c[j]>>=1;
       }
       printf("%s",ch);
       j++;
  }
    }
int main()
{
    char use;
    char c[100];
 while(1)
 {
       printf("请输入需要转换的文字:");
       scanf("%s",c);
       conv(c);
    printf("\n");
 }
    return 0;
 
}

第二个程序是有我负责的怎样将文件中的汉子提取出来并将加密后的二进制输入到指定文件中。其中用户需通过输入指定文件路径来选择文件。

具体代码如下:

#include <iostream>
#include <fstream>
#include <string>
using namespace std;
int main(void) 
{
 ifstream in;
 ofstream out;
 string filename;
 int x;
 cout<<"请输入指定文件路径:\n";
 cin>>filename;
 in.open(filename,iOS::in);
 if(!in)
 {
  cout<<"打开文件出错!";
  return 1;
 }
 in>>x;
 in.close();
 int key(int a);//定义加密函数
 x=key(x);
 out.open(filename,ios::trunc);
 if(!out)
 {
  cout<<"打开文件出错!";
  return 1;
 }
 out<<dec<<x<<endl;
 out.close();
 return 0;
}
int key(int x)
{
 int t=102;
 x=x+t;
 return x;
}

目前我正在和同学一起负责合并的这一部分,具体思路是将文字转二进制实现成一个函数conv,然后运用在文件读取输入中,达到一旦用户输入一个文件路径然后调用加密函数conv就能真正实现对一段文件的加密。在合并过程中,我们发现了很多问题,也养成了许多编程的好习惯,例如:在合并时,若发现一些语句可能再合并后就没用了,也不必将其删除,将这条语句注释掉即可!还有,当程序合并后,难免会发生遗漏括号的现象,所以在输入括号时应养成一次性输完一对括号才行!

目前我们的进度在已经进行到了正在编写对密文进行解密的函数的阶段,在接下来的一段时间里,一个完整的加密软件将会成型!

时间: 2024-10-12 21:57:47

源代码的控制、实现与合作的相关文章

如何管理好合作学习小组的晚自习课

实施问题导学教学模式以后,学生的课堂学习状态发生了很大的变化.主动发言的学生越来越多,学生之间的互动明显增加,课堂气氛更加活跃.所有这一切,正是老师所期待的课堂学习状态.但如果将这种学习状态迁移到晚自习课(或平时的自习课),情况就不是预料中的那种状态了.近期部分家长以及科任都对晚自习的纪律抱怨不止,担心晚自习的不合理的合作学习会影响学生的学习效率.主要表现在以下三个方面:现象1:少数学生过分依赖小组合作学习,喜欢不劳而获,拿着练习直接问同伴给答案:现象2:个人没有任何思考就直接求助于同伴.现象3

基于meanshift的手势跟踪与电脑鼠标控制(手势交互系统)

转自网络:http://blog.csdn.net/zouxy09/article/details/17913745 基于meanshift的手势跟踪与电脑鼠标控制(手势交互系统) [email protected] http://blog.csdn.net/zouxy09 一年多前开始接触计算机视觉这个领域的时候,年幼无知,倍感吃力.当年惶恐,从而盲从.挣扎了不少时日,感觉自己好像还是处于领域的门外汉一样,在理论与实践的鸿沟中无法挣脱,心里空落落的.在这种挥之不去的烦忧中,某个时候豁然开朗,觉

软件体系结构原理、方法与实践总结

第1章:软件体系结构概论 什么是软件危机,软件危机的具体表现有哪些? 软件危机:落后的软件生产方式无法满足迅速增长的计算机软件需求,从而导致软件开发与维护过程中出现一系列严重问题的现象. 软件危机的表现: 软件成本日益增长,开发进度难以控制,软件质量差,软件维护困难 产生软件危机的原因,如何克服软件危机? 产生软件危机的原因有用户需求不明确,缺乏正确的理论指导,软件规模越来越大,软件复杂度越来越高. 人们面临的不光是技术问题,更重要的是管理问题.要提高软件开发效率,提高软件产品质量,必须采用工程

服务级后门自己做——创建服务

以往大多数的木马/后门都是通过修改系统ini文件(比如Win.ini,System.ini)或修改注册表的RUN值来实现自启动的,还有更简单的是修改Autobat.exe(老大,地球不适合你,你还是回火星吧),但随着网络用户安全意识的提高,连我家旁边卖茶叶蛋的大妈都知道如何对付这些老方法了.为了适应新时代木马后门技术的发展要求,一种利用Windows NT/2000/XP系统服务的后门产生了,现在的WinShell,WinEggDrop等众人皆知的Telnte扩展后门都利用了这种方式.相信很多小

黑客白皮书:如何成为一名黑客(附FAQ)

内容一览 为什么会有这份文档? 什么是黑客? 黑客应有的态度 黑客的基本技能 黑客文化中的地位 黑客和书呆子(Nerd)的联系 风格的意义 其它资源 FAQ(常问问题解答) 作为Jargon File的编辑和一些其他有名的类似性质文章的作者,我经常收到充满热情的网络新手的email提问(确实如此) “我如何才能成为一名出色的黑客?”非常奇怪的是似乎没有任何的FAQ或者Web形式的文档来说明这个十分重要的问题,因此我写了一份. 如果你现在读的是这份文档的离线拷贝,那么请注意当前最新版本(英文版)在

如何成为一名黑客

如何成为一名黑客 http://www.kerneltravel.net/jiqiao/hacker.html#AEN277 如何成为一名黑客 Copyright © 2001 by Eric S. Raymond 翻译:Barret 翻译水平有限,欢迎来信指教,我的Email是barret(a)ynmail.com, 但请勿问电脑技术问题(反正也不懂). 允许未经作者及译者的同意进行非商业目的的转载,但必须保持原文的完整性. 内容一览 为什么会有这份文档? 什么是黑客? 黑客应有的态度 黑客的

49种软件测试方法

β测试_Beta测试 β测试,英文是Beta testing.又称Beta测试,用户验收测试(UAT). β测试是软件的多个用户在一个或多个用户的实际使用环境下进行的测试.开发者通常不在测试现场,Beta测试不能由程序员或测试员完成. 当开发和测试根本完成时所做的测试,而最终的错误和问题需要在最终发行前找到.这种测试一般由最终用户或其他人员员完成,不能由程序员或测试员完成. α测试_Alpha测试 α测试,英文是Alpha testing.又称Alpha测试. Alpha测试是由一个用户在开发环

ios APP开发简单实例

这一次的任务是两个人合作设计一个简单的APP,其中设计到了源代码的设计,源代码的实现以及源代码的控制.在设计app前,我们先仔细研究了软件是如何设计与实现的,然后我们决定做个简单的app—提醒小闹钟.在设计的过程中,问题很多,因为从未设计过app,开始完全不知道如何去设计代码,我们两个商量了下,在百度找到了教程,跟着教程一步一步研究如何设计一个app.我们觉得做一个提醒小闹钟app,其功能是使用者设置好时间与事项后,该app就会在使用者设置的时间响起,然后显示使用者之前输入的事项. 代码我们参考

android问题及其解决-优化listView卡顿和怎样禁用ListView的fling

问题解决-优化listView卡顿和怎样禁用ListView的fling 前戏非常长,转载请保留出处:http://blog.csdn.net/u012123160/article/details/47720257 问题产生 这算是刚到实习公司接触到的第一个任务.公司某一产品中某个界面的listView高速滑动会有卡顿的现象发生,我的任务就是解决它. 产生原因分析 我一開始的想法比較简单.可能是listview的优化没有做到位,比如convertView的复用.viewHolder的使用等等基础