| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 745 人关注过本帖
标题:专家来解释一下这两个小程序撒
只看楼主 加入收藏
yukeyyo
Rank: 2
等 级:论坛游民
帖 子:22
专家分:14
注 册:2011-11-18
结帖率:100%
收藏
 问题点数:0 回复次数:4 
专家来解释一下这两个小程序撒
程序代码:
//图像文件加密
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    char ch;
    ifstream in;
    in.open("old.jpg",ios::binary);
    if(!in)
    {
        cout<<"Cannot open file.";
        return 1;
    }
    ofstream out;
    out.open("tmp.jpg",ios::binary);
    if(!out)
    {
        cout<<"Cannot open file.";
        return 1;
    }
    while(in)
    {
        in.get(ch);
        ch=ch^char(0xFF);
        if(in) out.put(ch);
    }
    in.close;
    out.close;
    return 0;
}//图像文件解密
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
    char ch;
    ifstream in;
    in.open("tmp.jpg",ios::binary);
    if(!in)
    {
        cout<<"Cannot open file.";
        return 1;
    }
    ofstream out;
    out.open("old.jpg",ios::binary);
    if(!out)
    {
        cout<<"Cannot open file.";
        return 1;
    }
    while(in)
    {
        in.get(ch);
        ch=ch^char(0xFF);
        if(in) out.put(ch);
    }
    in.close;
    out.close;
    return 0;
}


谁能告诉我加密与解密的原理是什么不?
搜索更多相关主题的帖子: include color 
2011-11-22 17:00
Toomj
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:257
专家分:1826
注 册:2011-5-17
收藏
得分:0 
就是用异或加密法(ch=ch^char(0xFF);),改变图像的二进制存储那一群1、0,就不能再显示出来了,也就是加密;由于异或算法是对称算法,所以两次异或就回到原样,也就是解密
2011-11-22 17:26
yukeyyo
Rank: 2
等 级:论坛游民
帖 子:22
专家分:14
注 册:2011-11-18
收藏
得分:0 
回复 2楼 Toomj
那其他加密也可以用这条语句么?
2011-11-22 17:41
Toomj
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
帖 子:257
专家分:1826
注 册:2011-5-17
收藏
得分:0 
回复 3楼 yukeyyo
可以,而且由于是对称的,加密解密都采用同一程序算法。不过这种加密算法强度极低,和直接给明文没什么区别,网上一大票破解工具。你可以查下其他加密方法
2011-11-23 12:55
waterstar
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:5
帖 子:984
专家分:2810
注 册:2010-2-12
收藏
得分:0 
异或加密是最简单的加密方法了,解密也是最简单了,要复杂一点的异或加密可以随机地抽取多少个字母,例如“water”这个五个字母,然后顺序对每个图像位进行异或,不断地异或知道加密结束。这种方法被破解也非常快,如果这要加密的话,就要好好研究研究了,毕竟密码学是非常精深的东西。

冰冻三尺,非一日之寒;士别三日,不足刮目相看!
2011-11-23 20:32
快速回复:专家来解释一下这两个小程序撒
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015341 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved