Skip to main content

Embedded messages in text for Python.

Project description

This library includes a set of tools for using zero-width unicode characters to embed human-invisible messages in text.

Watermarking

You can use invisible ink to uniquely identify a piece of text by embedding a UUID:

>>> from invisible_ink import encode_watermark, decode_watermark
>>> encoded_text, uuid = encode_watermark(u'asdf')
>>> print encoded_text
asdf
>>> uuid
UUID('3ca37a37-9c5a-4b9e-a9c0-a50c47c48dba')
>>> decode_watermark(encoded_text)
(u'asdf', UUID('3ca37a37-9c5a-4b9e-a9c0-a50c47c48dba'))

encode_watermark (text, watermark_uuid=None, prepend=False)

Encodes the given text with a watermark string generated from the given uuid. Optionally appends or prepends the watermark string.

Parameters:

  • text: Unicode string to which the watermark will be added

  • watermark_uuid: uuid.UUID instance to use as the watermark. (uuid.uuid4() will be used to generate one if not provided.)

  • prepend: Indicates whether the watermark should be prended to text (defaults to False). If False, the watermark will be appended.

Returns:

A 2-tuple: (encoded_text, watermark_uuid)

decode_watermark (encoded_text)

Decodes the given text, separating out the original text and the watermark uuid.

Paramters:

  • encoded_text: Unicode string which potentially includes a watermark

Returns:

A 2-tuple: (text, watermark_uuid). If no watermark is detected, text is the original text and watermark_uuid is None.

Installation

$ pip install invisible-ink

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

invisible-ink-0.1.1.tar.gz (2.9 kB view details)

Uploaded Source

Built Distribution

invisible_ink-0.1.1-py2.py3-none-any.whl (4.5 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file invisible-ink-0.1.1.tar.gz.

File metadata

File hashes

Hashes for invisible-ink-0.1.1.tar.gz
Algorithm Hash digest
SHA256 756040760290efce3e2ba146838636f497afc9a5340f40cdbe9e4a80a67dbc5a
MD5 06e3664f3f377542cddaae7940bbe488
BLAKE2b-256 e29fbeac52516c3f0fbe3e668ba1745380e5d45807debe664d46a7a87268df63

See more details on using hashes here.

File details

Details for the file invisible_ink-0.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for invisible_ink-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 5db83bce0e4a442b60eb41c533cfde19ebe7090ec2b6a1b1e4d14141beebe8be
MD5 fd52fc476dc7d9e8d21cd5aa916c743d
BLAKE2b-256 cf5394f204bb855e0660068bef0be897333b24d2765ba7ec88853ba2ee807a9e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page