c#中的隐写图像 [英] Steganography image in 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屋!