c#中的隐写图像 [英] Steganography image in c#

查看:202
本文介绍了c#中的隐写图像的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好!

我需要一些帮助。



i我正在尝试做一个隐写术程序!

我所学到的是:

我从原始图像中获取pixel.B值,并将所有这些值存储在列表中< int>称为ImgInt。

然后我将int转换为位并将每个位0,1存储在列表< int>中ImgBits。

我对文本做了同样的事情,有两个列表TxtInt和TxtBits。



然后我替换第7位,第15位 - th,23 - ,31 - st,39 - 并使用TxtBits列表中的位继续ImgBits列表。

稍后我将ImgBits列表的值转换回int并设置它们是pixel.B值的图像,通过这种方式我创建了加密图像。



问题是当我试图从加密图像中获取像素它们与我设置的不同。



这些是组合pxl - txt位的int值,我设置为enckryted图像



Pixelit [0] [0] = 198

Pixelit [0] [1] = 198

Pixelit [0] [ 2] = 198

Pixelit [0] [3] = 199

Pixelit [0] [4] = 199

Pixelit [0] [5] = 200

Pixelit [0] [6] = 200

Pixelit [0] [7] = 200

Pixelit [0 ] [8] = 199

Pixelit [0] [9] = 199

Pixelit [0] [10] = 199

Pixelit [0] [11] = 200

Pixelit [0] [12] = 200

Pixelit [0] [13] = 201

Pixelit [0] [14] = 201

Pixelit [0] [15] = 201

Pixelit [0] [16] = 201

Pixelit [0] [17] = 200

Pixelit [0] [18] = 198
Pixelit [0] [19] = 197

Pixelit [0] [20] = 197

Pixelit [0] [21] = 198

Pixelit [0] [22] = 198

Pixelit [0] [23] = 199

Pixelit [0] [24] = 199

Pixelit [0] [25] = 200

Pixelit [0] [26] = 202

Pixelit [0] [27] = 202

Pixelit [0] [28] = 202

Pixelit [0] [29] = 201

Pixelit [0] [30] = 199

Pixelit [0] [31] = 196

Pixelit [0] [32] = 202

Pixelit [0] [33] = 200

Pixelit [0] [34] = 200

Pixelit [0] [35] = 200

Pixelit [0] [36 ] = 200

Pixelit [0] [37] = 200



这些是pixel.b的值当我开始使用时,我会从入学中获得。



Pixelit [0] [0] = 198

Pixelit [0] [ 1] = 201

Pixelit [0] [2] = 196

Pixelit [0] [3] = 196

Pixelit [0] [4] = 199

Pixelit [0] [5] = 196

Pixelit [0] [6] = 201

Pixelit [0 ] [7] = 199

Pixelit [0] [8] = 196

Pixelit [0] [9] = 199

Pixelit [ 0] [10] = 197

Pixelit [0] [11] = 198

Pixelit [0] [12] = 198

Pixelit [0] [13] = 203

Pixelit [0] [14] = 200

Pixelit [0] [15] = 201

Pixelit [0] [16] = 200

Pixelit [0] [17] = 203

Pixelit [0] [18] = 201

Pixelit [0] [19] = 198

Pixelit [0] [20] = 199

Pixelit [0] [21] = 199

Pixelit [0] [22] = 199

Pixelit [0] [23] = 202

Pixelit [0] [24] = 196

Pixelit [0] [25] = 199

Pixelit [0] [26] = 201

Pixelit [0] [ 27] = 202

Pixelit [0] [28] = 201

Pixelit [0] [29] = 201

Pixelit [0] [30] = 199

Pixelit [0] [31] = 200

Pixelit [0] [32] = 198

Pixelit [0 ] [33] = 199

Pixelit [0] [34] = 201

Pixelit [0] [35] = 200



这两组值必须相同。



提前谢谢!

解决方案

< blockquote>我建​​议你开始阅读这些 [ ^ ]。这是关于隐写术的一系列优秀文章。


Hi everyone!
I need some help.

i am trying to do a steganography program!
What i have imlemented is this:
I get the pixel.B value from the original image and i store all of them in a list<int> called ImgInt.
Then i convert the ints into bits and store every single bit 0, 1 in a list<int> ImgBits.
I do the same for the text with two lists TxtInt and TxtBits.

Then i replace the bits 7 - th, 15 - th, 23 - rd, 31 - st, 39 - th and go on of the ImgBits list with the bits from TxtBits list.
Later i convert back to int the values of ImgBits list and i set them to the pixel.B value of image and by this way i create the encrypted image.

The problem is that when i try to get the pixels from the encrypted image they are different from the ones that i set.

These are the int value of the combination pxl - txt bits which i set to the enckryted image

Pixelit [0][0] = 198
Pixelit [0][1] = 198
Pixelit [0][2] = 198
Pixelit [0][3] = 199
Pixelit [0][4] = 199
Pixelit [0][5] = 200
Pixelit [0][6] = 200
Pixelit [0][7] = 200
Pixelit [0][8] = 199
Pixelit [0][9] = 199
Pixelit [0][10] = 199
Pixelit [0][11] = 200
Pixelit [0][12] = 200
Pixelit [0][13] = 201
Pixelit [0][14] = 201
Pixelit [0][15] = 201
Pixelit [0][16] = 201
Pixelit [0][17] = 200
Pixelit [0][18] = 198
Pixelit [0][19] = 197
Pixelit [0][20] = 197
Pixelit [0][21] = 198
Pixelit [0][22] = 198
Pixelit [0][23] = 199
Pixelit [0][24] = 199
Pixelit [0][25] = 200
Pixelit [0][26] = 202
Pixelit [0][27] = 202
Pixelit [0][28] = 202
Pixelit [0][29] = 201
Pixelit [0][30] = 199
Pixelit [0][31] = 196
Pixelit [0][32] = 202
Pixelit [0][33] = 200
Pixelit [0][34] = 200
Pixelit [0][35] = 200
Pixelit [0][36] = 200
Pixelit [0][37] = 200

These are the values of pixel.b that i get from the enckrypted when i start to deckrypt.

Pixelit [0][0] = 198
Pixelit [0][1] = 201
Pixelit [0][2] = 196
Pixelit [0][3] = 196
Pixelit [0][4] = 199
Pixelit [0][5] = 196
Pixelit [0][6] = 201
Pixelit [0][7] = 199
Pixelit [0][8] = 196
Pixelit [0][9] = 199
Pixelit [0][10] = 197
Pixelit [0][11] = 198
Pixelit [0][12] = 198
Pixelit [0][13] = 203
Pixelit [0][14] = 200
Pixelit [0][15] = 201
Pixelit [0][16] = 200
Pixelit [0][17] = 203
Pixelit [0][18] = 201
Pixelit [0][19] = 198
Pixelit [0][20] = 199
Pixelit [0][21] = 199
Pixelit [0][22] = 199
Pixelit [0][23] = 202
Pixelit [0][24] = 196
Pixelit [0][25] = 199
Pixelit [0][26] = 201
Pixelit [0][27] = 202
Pixelit [0][28] = 201
Pixelit [0][29] = 201
Pixelit [0][30] = 199
Pixelit [0][31] = 200
Pixelit [0][32] = 198
Pixelit [0][33] = 199
Pixelit [0][34] = 201
Pixelit [0][35] = 200

This two sets of values have to identical.

Thanks in advance!

解决方案

I suggest you start reading these[^]. It's an excellent series of articles on steganography.


这篇关于c#中的隐写图像的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆