MCPcopy Create free account
hub / github.com/MearaY/StegaPy / extract_data

Method extract_data

StegaPy/plugin/lsb/lsb_plugin.py:73–93  ·  view source on GitHub ↗

从隐写数据中提取消息

(self, stego_data: bytes, stego_filename: Optional[str],
                    orig_sig_data: Optional[bytes] = None)

Source from the content-addressed store, hash-verified

71 raise StegaPyException(str(e), StegaPyErrors.UNHANDLED_EXCEPTION, self.NAMESPACE)
72
73 def extract_data(self, stego_data: bytes, stego_filename: Optional[str],
74 orig_sig_data: Optional[bytes] = None) -> bytes:
75 """从隐写数据中提取消息"""
76 try:
77 image = ImageUtil.byte_array_to_image(stego_data, stego_filename)
78 lsb_is = LSBInputStream(image, self.config)
79 header = lsb_is.get_data_header()
80 data = lsb_is.read(header.get_data_length())
81
82 if len(data) != header.get_data_length():
83 raise StegaPyException(
84 "数据读取不完整",
85 StegaPyErrors.ERR_IMAGE_DATA_READ,
86 self.NAMESPACE
87 )
88
89 return data
90 except StegaPyException:
91 raise
92 except Exception as e:
93 raise StegaPyException(str(e), StegaPyErrors.UNHANDLED_EXCEPTION, self.NAMESPACE)
94
95 def generate_signature(self) -> bytes:
96 """生成签名数据(LSB不支持水印)"""

Callers

nothing calls this directly

Calls 6

get_data_headerMethod · 0.95
readMethod · 0.95
LSBInputStreamClass · 0.85
StegaPyExceptionClass · 0.85
byte_array_to_imageMethod · 0.80
get_data_lengthMethod · 0.80

Tested by

no test coverage detected