首页
社区
课程
招聘
[旧帖] [求助]c++加解密 0.00雪花
发表于: 2011-3-11 18:55 1244

[旧帖] [求助]c++加解密 0.00雪花

2011-3-11 18:55
1244
--------------------------------------------------------------------------------

刚开始学c++,老师布置个作业:将文件a.dat加密为文件b.dat,解密后还为a.dat,我都不懂啥叫加密解密,老师也没讲过,哪位大大帮帮忙啊,解释下啥叫加解密,咋实现呢?:

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (8)
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
2
给你举个例子
假如文件a.dat存储的内容是   1234567890   一个10个字节
现在我需要一种变幻规则,定义如下:
1->3
2->1
3->5
4->6
5->8
6->2
7->4
8->9
9->0
0->7

那么加密后的数据就是:3156824907

解密过程刚好反过来,根据我们定义的变幻规则
3转换成1
...
最后解密成 1234567890   
讲解完毕。
注:这只是同过一个例子来说一下加解密过程,并非什么加密算法。
2011-3-11 19:26
0
雪    币: 92
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
总结一下2楼的方法,其实是一种置换.
置换x = ((1,a1),(2,a2),(3,a3), (3,a4), ..... (n, an) )
加密:
    假如原文是 P ,密文 C  = x(P)

同样解密就是求置换群x的逆, x-1 = ((a1,1),(a2,2),(a3,3)...(an,n))
然后解密:
    假如密文是 C ,原文 P = x-1(C)
2011-3-11 19:47
0
雪    币: 4469
活跃值: (2968)
能力值: ( LV10,RANK:175 )
在线值:
发帖
回帖
粉丝
4
一个最简单的加密解密算法……异或
2011-3-11 20:03
0
雪    币: 31
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
谢谢各位大大
2011-3-12 12:15
0
雪    币: 1751
活跃值: (1616)
能力值: ( LV12,RANK:222 )
在线值:
发帖
回帖
粉丝
6
异或有个很严重的问题,异或两次就还原了
2011-3-12 12:27
0
雪    币: 5
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
那应该告诉你们方法,然后让你们去实现啊.
我记得学C的时候书上就有一个简单的实例,古老的Caesar加密.呵呵.
2011-3-16 23:46
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
学习了,异或我知道。
2011-3-16 23:58
0
雪    币: 21
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
异或两次就还原了
2011-3-17 03:30
0
游客
登录 | 注册 方可回帖
返回
//