Skip to main content

A simple cipher keeps original order and can be search partly by encode 1 byte data to many bytes.

Project description

s1ncipher

A simple cipher keeps original order and can be search partly by encode 1 byte data to many bytes.

Note: s1ncipher designed to be a partly searchable and sortable string encode method, but after many test, we find that it may returns more result while doing partly search. New applications should not use this package anymore. This is kept for old applications that already using this encode method. Use srndcipher instead.

Install

pip install s1ncipher

Installed Utils

  • s1ncipher_encrypt
  • s1ncipher_decrypt
  • S1nCipher

Usage examples

  1. Use raw API s1ncipher_encrypt and s1ncipher_decrypt.
In [1]: from s1ncipher import s1ncipher_encrypt

In [2]: from s1ncipher import s1ncipher_decrypt

In [3]: password = "test-password"

In [4]: data1 = b"plain text"

In [5]: data2 = s1ncipher_encrypt(data1, password)

In [6]: print(data2)
b's:n\xeceAm\x9eq \xadwX|k\xf6Iy\x0ewX|'

In [7]: data3 = s1ncipher_decrypt(data2, password)

In [8]: print(data3)
b'plain text'

In [9]: data1 == data3
Out[9]: True

In [10]:
  • Plain data must be in bytes format.
  • Encrypted data is also in bytes format.
  1. Use S1nCipher enveloped API
In [14]: from s1ncipher import S1nCipher

In [15]: from zenutils import cipherutils

In [16]: password = "test-password"

In [17]: text1 = "plain text"

In [18]: cipher = S1nCipher(password=password, result_encoder=cipherutils.HexlifyEncoder(), force_text=True)

In [19]: text2 = cipher.encrypt(text1)

In [20]: print(text2)
733a6eec65416d9e7120ad77587c6bf649790e77587c

In [21]: text3 = cipher.decrypt(text2)

In [22]: print(text3)
plain text

In [23]: text1 == text3
Out[23]: True

  • Create a cipher instance to do encrypt and decrypt.
  • With result_encoder=cipherutils.HexlifyEncoder(), encrypted data will be hexlified.
  • With force_text decrypted data will be decoded from bytes to str.

Test With Python

  • 2.7
  • 3.2
  • 3.3
  • 3.4
  • 3.5
  • 3.6
  • 3.7
  • 3.8
  • 3.9
  • 3.10
  • 3.11

Releases

0.3.0

  • First release.

0.3.1

  • Deps on zenutils, instead of fastutils.
  • Doc fix.

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

s1ncipher-0.3.1.tar.gz (3.8 kB view details)

Uploaded Source

Built Distribution

s1ncipher-0.3.1-py3-none-any.whl (3.6 kB view details)

Uploaded Python 3

File details

Details for the file s1ncipher-0.3.1.tar.gz.

File metadata

  • Download URL: s1ncipher-0.3.1.tar.gz
  • Upload date:
  • Size: 3.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for s1ncipher-0.3.1.tar.gz
Algorithm Hash digest
SHA256 fb17c3e63b48fb72325807d6c44302c6e08030ad1eb7ffe37026e4e94aba5f04
MD5 c377a42d30c87189ff94c0437d7b29b7
BLAKE2b-256 7908aabea9a21d3d011979de5f3720d13cada43bc61285e343ac83d4a0cc7528

See more details on using hashes here.

File details

Details for the file s1ncipher-0.3.1-py3-none-any.whl.

File metadata

  • Download URL: s1ncipher-0.3.1-py3-none-any.whl
  • Upload date:
  • Size: 3.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for s1ncipher-0.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 3a5176306edc4830c12923c3ef98dd7e4bb19fbe187faf5c5327a949601c6e5a
MD5 8eebe483630a5baa17159887c6b08865
BLAKE2b-256 d38c14b7e458783e56cbec2c2630fbb2d2142d5e1f4ae620c95d49f92a4259e1

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