Steganography: Extract String From Colors (RGB)
Extract String From Colors (RGB) — no matching embed node in this pack
- image
- data_string
Same job as steg_alpha_extract - read hidden text back out of an image using least-significant-bit decoding - but this one reads from the RGB color channels instead of the alpha channel. Worth flagging up front: this pack ships an alpha-channel embed and extract pair, but only an RGB extract. There's no steg_rgb_embed node anywhere in comfyui-sortlist.
That's not necessarily a gap in the pack so much as a difference in what the two schemes are for. RGB-channel LSB steganography is the more common flavor of image steganography generally - it works in any format with enough color bit depth, and it's what most general-purpose steganography tools outside the ComfyUI ecosystem use. Alpha-channel hiding (this pack's own steg_alpha_embed/extract pair) is more self-contained but requires the format to actually carry an alpha channel through to the end. Reading between the lines, this node looks like it's meant for interoperability - decoding RGB-hidden data written by something other than this pack - rather than being one half of a matched pair.
The inputs and outputs that matter
- image - the IMAGE to check for hidden data in its color channels.
One output: data_string - whatever text is recovered.
Installing it
ComfyUI Manager: search comfyui-huyl2-nodes, install, restart. By hand:
cd ComfyUI/custom_nodes
git clone https://github.com/huyl3-cpu/comfyui-sortlist
restart. Not covered in the pack's README, and no special dependencies beyond standard image-array handling.
Common issues & troubleshooting
If you're testing this and expecting to round-trip data you hid yourself, remember there's no steg_rgb_embed node here to have written it in the first place - steg_alpha_embed writes to the alpha channel, which this node isn't reading. If you want a self-contained round trip within this pack, use steg_alpha_embed → steg_alpha_extract instead; this node is for reading data an external tool embedded via RGB-channel LSB.
The usual fragility applies, and matters even more here since RGB channels carry the actual visible image data rather than a channel most viewers ignore:
- Any lossy compression (JPEG especially) after the data was embedded will corrupt or destroy it - RGB-LSB schemes generally assume lossless storage.
- Any resize, crop, or color adjustment shuffles or discards the exact pixel values the decoder depends on.
- If the output is empty, verify the image genuinely has data hidden in it via RGB-LSB and hasn't passed through any processing since - there's no error message here distinguishing "nothing was ever hidden" from "the data got destroyed along the way," so you're debugging blind either way.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| data_string | STRING | — |