Various improvements in lsb and lsbset modules.

This commit is contained in:
Cédric Bonhomme 2017-02-28 07:52:44 +01:00
parent 119aecf3a6
commit b9fad5f044
No known key found for this signature in database
GPG key ID: A1CB94DE57B7A70D
2 changed files with 5 additions and 14 deletions

View file

@ -89,12 +89,9 @@ def hide(input_image_file, message, auto_convert_rgb=False):
img.close() img.close()
return encoded return encoded
img.close()
return encoded
def reveal(input_image_file): def reveal(input_image_file):
"""Find a message in an image """Find a message in an image (with the LSB technique).
(with the LSB technique).
""" """
img = Image.open(input_image_file) img = Image.open(input_image_file)
width, height = img.size width, height = img.size
@ -123,5 +120,3 @@ def reveal(input_image_file):
if len(bitab)-len(str(limit))-1 == limit : if len(bitab)-len(str(limit))-1 == limit :
img.close() img.close()
return "".join(bitab)[len(str(limit))+1:] return "".join(bitab)[len(str(limit))+1:]
img.close()
return ""

View file

@ -54,15 +54,14 @@ def hide(input_image_file, message, generator, auto_convert_rgb=False):
width, height = img.size width, height = img.size
index = 0 index = 0
message = str(len(message)) + ":" + str(message) message = str(message_length) + ":" + str(message)
#message_bits = tools.a2bits(message)
message_bits = "".join(tools.a2bits_list(message)) message_bits = "".join(tools.a2bits_list(message))
message_bits += '0' * ((3 - (len(message_bits) % 3)) % 3) message_bits += '0' * ((3 - (len(message_bits) % 3)) % 3)
npixels = width * height npixels = width * height
len_message_bits = len(message_bits) len_message_bits = len(message_bits)
if len_message_bits > npixels * 3: if len_message_bits > npixels * 3:
raise Exception("The message you want to hide is too long: {}".\ raise Exception("The message you want to hide is too long: {}". \
format(message_length)) format(message_length))
while index + 3 <= len_message_bits : while index + 3 <= len_message_bits :
@ -92,8 +91,7 @@ def hide(input_image_file, message, generator, auto_convert_rgb=False):
def reveal(input_image_file, generator): def reveal(input_image_file, generator):
"""Find a message in an image """Find a message in an image (with the LSB technique).
(with the LSB technique).
""" """
img = Image.open(input_image_file) img = Image.open(input_image_file)
img_list = list(img.getdata()) img_list = list(img.getdata())
@ -118,5 +116,3 @@ def reveal(input_image_file, generator):
pass pass
if len(bitab)-len(str(limit))-1 == limit : if len(bitab)-len(str(limit))-1 == limit :
return "".join(bitab)[len(str(limit))+1:] return "".join(bitab)[len(str(limit))+1:]
return ""