注册 登录
编程论坛 C# 论坛

对一串数字加密和解密!(费了心血的,不顶勿看!)

飙马 发布于 2007-05-16 11:50, 13274 次点击

using System;
using System.Threading;

class 加密
{
static void Main()
{
Console.WriteLine("请输入要加密的四位整数:");
int i=int.Parse(Console.ReadLine());
// 假设4395 /为除法,%求余!
int first = i/1000; // 整除得4 ,第一位4
int second = (i/100)%10; //43%10余3,第二位3
int third = (i/10)%10; //439%10余9,第3位9
int forth = i%10; //4395除10余5,第4位5

Console.WriteLine(first+" "+second+" "+third+" "+forth);

first = (first+7)%10; //加上7然后再%10求余
second =(second+7)%10;
third = (third+7)%10;
forth = (forth+7)%10;

int temp=third; //将第3位和第1位换位
third=first ;
first = temp;

temp= forth; //将第2位和第4位换位
forth= second;
second = temp;

int pass = first*1000+second*100+third*10+forth;

Console.WriteLine("加密后数变成:"+pass); //得到的结果是6210

Thread.Sleep(5000);
}
}

using System;
using System.Threading;
class 破解
{
static void Main()
{
Console.WriteLine("请输入你加密过的四个数:");//输入上次加密后的结果6210
int i=int.Parse(Console.ReadLine());
int first = i/1000; // 整除得6 ,第一位6
int second = (i/100)%10;//62%10余2,第二位2
int third = (i/10)%10; //621%10余1,第3位1
int forth = i%10; //6210除10余0,第4位0

Console.WriteLine(first+" "+second+" "+third+" "+forth);

int temp=third; //将第3位和第1位换位
third=first ;
first = temp;

temp= forth; //将第2位和第4位换位
forth= second;
second = temp;

first = (first+10)-7; //此处不能直接加3,因为有可能会超过10!
second =(second+10)-7;
third = (third+10)-7;
forth = (forth+10)-7;

int pass = first*1000+second*100+third*10+forth;

Console.WriteLine("破解成功了!原数为:"+pass);//得到原来的数4395

Thread.Sleep(5000);
}
}

24 回复
#2
bygg2007-05-16 12:19
只能加密四位???
#3
Kendy1234562007-05-16 14:14

这是很简单的加密哦...其实Microsoft有封装的加密模块的 而且包含了不可逆的Hash加密模式 适用于类似密码保护的地方. 就不用自己编写这么麻烦了

#4
xiezili2007-05-16 14:29
写得不错,但没多大实际意义!也很容易被解密!
#5
vfoxer2007-05-16 14:38
一般般~!
#6
飙马2007-05-16 14:57
3楼的,你说的那个在VS里面怎么用啊?
#7
hackboyo2007-05-16 15:42
谢了
#8
飙马2007-05-16 16:16
    俺现在的水平可只有这么高啊,不要上来尽是“一般般”、“太简单”就打发了呀!现如今,做乞丐都讲尊严呢,给他一块钱,人家会说“一块钱?你以为打发乞丐啊?一块才够买一个包子,你想让我饿死啊?没有钱就不要给啊,你以为少了你这一块钱我会饿死啊?”大家好呆鼓励鼓励啊,多说吉祥话呀,激励在难民堆中获得重生的年轻人呀!
#9
roy_guo2007-05-16 22:53
我顶你,很不错,但是再接再厉就更好了
#10
lxhlovewjy2007-05-16 23:49
顶你了,兄弟。不再乱说话了,各位,大哥!
#11
bygg2007-05-17 09:36
LZ.我想你不必太在意别人说的什么,只要自己真正付出了.就行了,何必把自己的生活让给别人说呢?何必让自己的生活活在别人的言谈之下呢??
你的这个想法不错,只是每个人的基础不同而已,相信你再接再厉,一定会更好的.
#12
jacklee2007-05-17 09:39
支持!
#13
飙马2007-05-17 10:54
06的经典话语:穿别人的鞋,走自己的路,让他们找去吧!

只所以在乎别人说的话,主要是我这人啊,太爱面子了,看来真得好好改改了!
#14
b4dGuy20082007-05-17 14:17
顶了
#15
飙马2007-05-17 14:33
就怕没有人顶,诺大一个论坛,回贴率超过10的帖子少之又少!版主是否也可以适当放宽尺度,鼓励议论自由!
#16
wzerolai2007-05-21 21:57
呵呵,自己编出来也不简单哦.支持下.
可以和你多点交流就好了.
#17
sanctitude2007-05-23 01:40
顶3楼的......
#18
飙马2007-05-23 09:58
以下是引用wzerolai在2007-5-21 21:57:50的发言:
呵呵,自己编出来也不简单哦.支持下.
可以和你多点交流就好了.

你都这么说了,我可是个爽快人,交个朋友啊,
QQ:7552429
Mail: Audi_A8@Gmail.com
论坛上我已经加你了!

#19
leisky2007-05-23 11:21
不错了....
#20
paulo2007-05-23 11:52
顶.我觉得自己觉得好的东西就要拿出来分享一下.可以大家交流一下.这不是论坛的作用之一吗?如果闭门造车,一个人觉得好难道有用吗?
#21
June2Ling2007-05-23 13:22
#22
天使不哭2007-05-23 13:26
以下是引用paulo在2007-5-23 11:52:46的发言:
顶.我觉得自己觉得好的东西就要拿出来分享一下.可以大家交流一下.这不是论坛的作用之一吗?如果闭门造车,一个人觉得好难道有用吗?

说的很好。

#23
飙马2007-05-23 15:46
抵制闭门造车、孤芳自赏、孤军奋战、自欺欺人!

推崇班门弄斧、不耻下问、面红耳赤、王婆卖瓜!
#24
农场主2009-09-28 15:06
顶你一下!
#25
老马爸爸来也2015-11-25 01:46
可以破解朋友网的数字加密,然后知道QQ号吗??
1