使用 LSB 算法将秘密文字隐藏在 PNG 图片中,肉眼无法察觉,支持 XOR 密码加密保护
点击或拖拽 PNG 图片到此处
点击或拖拽隐写图片到此处
隐写术(Steganography,源自希腊语"隐藏书写")是一种将秘密信息隐藏在普通载体中的古老技术,与加密术不同,隐写术的目标不是让信息"难以破解",而是让信息的"存在"本身就不被察觉。
现代数字隐写术的常见形式包括:在图片中隐藏文字、在音频文件中嵌入数据、在视频每一帧里藏信息等。
本工具使用 LSB(Least Significant Bit,最低有效位)算法。每个像素由 R、G、B 三个颜色通道组成,每通道用 8 位二进制(0–255)表示。
修改每个通道的最低 1 位,对颜色的影响仅为 1/256,肉眼完全无法察觉。通过这种方式,一张 1000×1000 像素的 PNG 图片可隐藏约 375 KB 的文字信息。
例如,像素值 11001010 (十进制 202)修改为 11001011 (十进制 203),颜色变化不到 0.4%,肉眼根本分辨不出差异。
11001010
11001011
本工具编码的数据格式为:
除了 LSB 隐写,本工具还支持 XOR 加密:在写入像素之前,用密码对文字进行异或加密,提取时需要输入相同密码才能还原内容。这样即使他人知道图片有隐写,没有密码也无法读取。
XOR 加密的优点是速度极快、无需密钥管理,适合轻量级加密场景。对安全要求高的场景,建议先用 AES 加密文字,再进行隐写。
PNG 是无损压缩格式,像素值保存时保证分毫不差。而 JPEG 使用有损压缩,保存时会对像素值做轻微修改(DCT 变换),会直接破坏 LSB 中的隐写数据。
规则: 载体图片推荐 PNG;生成的隐写图片必须保存为 PNG ,不得转为 JPEG 或其他有损格式。
可隐藏字符数 ≈ 图片像素数 × 3 ÷ 8 − 12(标记和长度占位)。常见尺寸参考:
Q:图片变大了吗? A:文件大小基本不变,PNG 的 LSB 修改不影响文件体积,只是像素内容有微小变化。
Q:为什么提取失败? A:常见原因:①图片在保存或传输时被转为 JPEG;②图片被压缩/裁剪;③勾选了解密但密码错误;④图片本来没有隐写数据。
Q:手机发送图片会破坏数据吗? A:微信、QQ 等 APP 会压缩图片(转 JPEG),会破坏数据。建议通过"文件"形式发送,或使用原图发送选项。
Q:支持 JPEG 载体吗? A:可以加载 JPEG 作为载体,但必须将结果保存为 PNG。如果再次保存为 JPEG,数据会丢失。
标签: