首页
社区
课程
招聘
[旧帖] 怎样用C#处理字节? 0.00雪花
发表于: 2012-5-5 19:09 9609

[旧帖] 怎样用C#处理字节? 0.00雪花

2012-5-5 19:09
9609
小弟早起一拍脑门出来个想法,自己做一个文件加密小工具。

基本想法是对文件按字节处理,每个字节都将高4位与低4位交换,然后再进行一些其它的可逆运算,这样,想通过规律破解加密过的文件是挺难的,说干就过吧。我用C#做的,先进行简单的尝试,加密一个字符串。

把字符串转化成字节数组,然后进行位运算。报错了。提示只能对 int32 uint32 int64 uint64 进行位运算。

小弟的问题是如果用C#的话就不能做对字节的处理了么?再有C,C#里都没有循环移位操作。只能用内联汇编做么?有没有现成的标准库可用。

[课程]Linux pwn 探索篇!

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
兄弟们都用什么方法对文件进行处理的呢?
2012-5-6 10:12
0
雪    币: 22
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
unsafe,fixed,指针。
2012-5-6 11:04
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
用C#做不了了么?
2012-5-8 06:05
0
雪    币: 5
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
只有你想不到的,没有c#做不到的.
1 自定义类,包含将整个文件字串打包格式化为单个字符的一维数组,
2 创建对象,用自定义类中的方法处理,想怎么处理就怎么处理.
2012-5-8 08:11
0
雪    币: 175
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
转变成移位、与或非运算吧
2012-5-10 08:10
0
雪    币: 101
活跃值: (82)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
你把你的代码贴上来让看看吧,我记得c#是可以做的,我用c#原来做过一个类似的加密东西,只不过是把每位加减一个固定的数值,你贴上来看看,是不是哪个地方写的有问题
2012-5-10 15:58
0
雪    币: 416
活跃值: (25)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
只有你想不到的,没有c#做不到的.
看到這句話,就想到說,C#印象中還沒聽過寫driver。
2012-5-10 16:15
0
雪    币: 195
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
C完全可以实现楼主的啊
2012-5-10 17:21
0
雪    币: 257
活跃值: (28)
能力值: ( LV7,RANK:100 )
在线值:
发帖
回帖
粉丝
10
private void button1_Click(object sender, EventArgs e)
        {
            byte ch;
            byte[] data = System.Text.Encoding.Default.GetBytes(this.textBox1.Text.ToString());
            String ret = "";
            byte key = 17;      //密钥
            for (int i = 0; i < data.Length; i++)
            {
               
                ch = data[i];
                ch >>= 4;
                data[i] <<= 4;
                data[i] |= ch;  //高4位和低4位交换
                data[i] ^= key; //用钥加密
                ret += data[i].ToString("x").PadLeft(2, '0');   //将ASCII码按16进制数转换成串
            }
            this.textBox2.Text = ret;
            StreamWriter sw = new StreamWriter("test.txt");
            sw.WriteLine(ret);
            sw.Close();
        }
上传的附件:
2012-5-11 00:01
0
雪    币: 35
活跃值: (11)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
11
byte 类型你的会用? C#中byte才是8位的  还有FileStream类
10看雪必须是我的了
2012-5-14 11:47
0
雪    币: 73
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
正在考虑要不要学C#编程。
2012-5-15 23:12
0
游客
登录 | 注册 方可回帖
返回
//