从隐写数据中提取消息
(self, stego_data: bytes, stego_filename: Optional[str],
orig_sig_data: Optional[bytes] = None)
| 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不支持水印)""" |
nothing calls this directly
no test coverage detected