问题标签 [steganography]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3297 浏览

image - LSB 隐写术中的 PNG 文件大小增加

我正在研究图像隐写术问题,我必须在 png 图像文件中隐藏一些文本信息。隐写操作成功后,生成的图像比原始文件大。当我使用 LSB 隐写术(1 位、2 位、3 位)时,它不应该增加文件大小,因为正在存储的数据位于图像的现有位内。没有额外的字节被添加到原始图像中。所以我无法理解为什么会发生这种情况。从概念上讲,它不应该增加生成的文件大小。

例如

原始文件大小:88 KB 文本文件大小:382 KB 结果 PNG 文件大小:487 KB

我读到PNG采用“无损数据压缩”。所以我假设P​​NG可能以压缩格式存储图像,所以当我从图像中读取图像字节时,它们会被扩展,因此我的图像大小会增加。如果我错了,请纠正我。任何形式的帮助将不胜感激。

0 投票
1 回答
4989 浏览

android - Android bitmap.setPixel(x,y,color) 是设置传入值

使用 Bitmap.create(25, 25, Config.ARGB_8888) 创建位图

设置一个 alpha 值小于或等于 0xA9 的像素会导致该像素没有被设置为传入的内容。我读到另一个堆栈溢出问题说 setHasAlpha(true),我在测试中这样做了——但这仍然没有不解决问题。

这是我的 android 测试用例,显示了我的问题:

此代码失败并显示以下输出:junit.framework.AssertionFailedError: Current alpha value: a9000000, Expected pixel value: a9fefefe, Actual pixel value: a9fdfdfd expected:<-1442906370> but was:<-1442972163>

0 投票
3 回答
192 浏览

c - 如何修改数组?

我目前正在尝试使用一些 .wav 文件进行隐写术。

我想要做的是编写一个程序,将声音文件打开到一个数组中,然后修改所述数组,但这就是我卡住的地方。

目前我有:

我目前所能做的就是打印数组,但无法更改数组的值。我知道我不需要在最后打印数组,特别是因为它太大了,但我只是想感受一下文件,这样我就可以将数组值更改为 ASCII 值,而无需监听检测到声音的大部分变化。

0 投票
2 回答
203 浏览

c - 任何人都可以帮助我解决分段错误

我的解码器有问题,想知道是否有人可以帮助我?

基本上,我正在尝试为我的隐写编码器构建一个解码器,编码器在声音文件中每个字节的 LSB 上放置一些消息

解码器的工作是收集这些比特并从中创建一条新消息

该代码旨在执行以下操作:

代码:全选

  • 转到消息数组位置。

  • 将 bitindex 设置为 0 直到 7 // (8 位到一个字节)

  • 转到声音阵列位置

  • 如果 soundbit 相等,则将 0 添加到新字节,否则将 1 添加到新字节的末尾

  • 执行一次左移

  • 递增位索引

通过使用各种printf's,我可以告诉你它在崩溃前运行了大约 3/4 次。

希望有意义的实际循环如下所示:

希望有帮助的任何事情都会有所帮助。

0 投票
2 回答
125 浏览

c++ - 哈希算法的测试平台流程是什么?

假设我编写了一个标准算法的实现,例如 MD* 或 SHA*:我怎么知道它是正确的?相同算法的不同实现必须产生相同的摘要?

0 投票
1 回答
541 浏览

java - 如何从组合图像中提取两个图像?

可能重复:
是否有用于隐写术的 Java 库?

//我想把这个 combine.jpg 提取到我之前的 first.jpg 和 second.jpg 中?// 如何提取我与此代码组合的 2 个图像?

0 投票
1 回答
6647 浏览

java - 图像隐写 Java

我正在尝试解码图像中编码的数据。编码工作正常,图像的数据大小也发生了变化,但由于某种原因,解码后的数据是一个空字符串。编码数据丢失或此代码有错误。

如果我犯了任何错误或此代码缺少任何内容,请通知我。

0 投票
1 回答
567 浏览

java - 解码编码图像Java的输出中的奇怪Ascii字符

我正在编写一个图像加密程序,其中我在图像中编码一个字符串。

我正在处理.png图像。

编码通过以下步骤执行:

  • 使用 getRGB() 将图像的像素存储在 2D 数组中。
  • 字符串中的每个字符都被转换为二进制形式并存储在一个数组中。
  • 像素的每个字节的 LSB4byte根据字符的二进制形式的每一位而改变。第一个字节的 LSB 在第 0 位,第二个字节的 LSB 在第 8 位,第三个字节在第 16 位,第四个字节在第 24 位。
  • 编码后,使用 setRGB() 方法将修改后的像素写入原始图像。

对于解码:

  • 使用 getRGB() 读取图像的像素;
  • 使用反向编码方法来检索数据。
  • 在每 8 位之后,包含解码位的 int 被转换为字符。然后为另一个字符初始化为零。

    /li>

变化为 1,256,65536,16777216,具体取决于迭代。第 0、8、16 和 24 位为 1。

代码编译得很好。但解码后,我在输出中得到奇怪的 ascii 字符。我找不到原因。所以我在这里咨询专家。

0 投票
3 回答
741 浏览

encryption - 如何将 256 位公钥编码为可变长度的单词序列

[编辑] 我已经完全改写了这个问题,试图更简洁明了

我正在寻找一个 1-1 函数,encode这样

  • encode( 32_bytes_of_data ) => {w_1, w_2, ..., w_n}, 在哪里:
    • w_1 ... w_n 是真正的英文单词
    • n 应该是合理的——我不想用 256 个字来编码 256 位

理想情况下: - n 不应该对所有输入值都相同,但这不是一个非常重要的要求。

目标 - 使公钥更具可读性和可识别性。

0 投票
3 回答
277 浏览

java - 读取 .bmp 图像并从图像的第 10 个字节中减去 10 并在 Java 中重新创建图像

我正在创建一个应用程序,它将从 .bmp 图像中读取图像字节/像素/数据并将其存储在 byte/char/int/etc 数组中。

现在,从这个数组中,我想从数组第 10 个索引中存储的数据中减去 10(十进制)。

我能够成功地将图像信息存储在创建的数组中。但是当我尝试将数组信息写回 .bmp 图像时,创建的图像是不可见的。

这是我试图这样做的一段代码。

在这段代码中,我不是从数组的第 10 个索引中减去 10