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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for invisible_ink-0.1.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5db83bce0e4a442b60eb41c533cfde19ebe7090ec2b6a1b1e4d14141beebe8be |
|
MD5 | fd52fc476dc7d9e8d21cd5aa916c743d |
|
BLAKE2b-256 | cf5394f204bb855e0660068bef0be897333b24d2765ba7ec88853ba2ee807a9e |