summaryrefslogtreecommitdiff
path: root/python-obscure.spec
diff options
context:
space:
mode:
Diffstat (limited to 'python-obscure.spec')
-rw-r--r--python-obscure.spec246
1 files changed, 246 insertions, 0 deletions
diff --git a/python-obscure.spec b/python-obscure.spec
new file mode 100644
index 0000000..858d50c
--- /dev/null
+++ b/python-obscure.spec
@@ -0,0 +1,246 @@
+%global _empty_manifest_terminate_build 0
+Name: python-obscure
+Version: 1.0.1
+Release: 1
+Summary: Stop leaking information by obscuring sequential ID numbers
+License: Apache License 2.0
+URL: https://www.github.com/jidn/obscure/
+Source0: https://mirrors.nju.edu.cn/pypi/web/packages/ce/7b/ebedf560068174b3c4a7c3835ea07ee5d86baaf89c2158a217c12a23f379/obscure-1.0.1.tar.gz
+BuildArch: noarch
+
+
+%description
+[![build status](https://travis-ci.org/jidn/obscure.svg?branch=master)](https://travis-ci.org/jidn/obscure.svg?branch=masterp)
+![version](http://img.shields.io/pypi/v/obscure.svg)
+![license](http://img.shields.io/pypi/l/obscure.svg)
+![coverage](https://coveralls.io/repos/github/jidn/obscure/badge.svg?branch=master)
+![downloads](http://img.shields.io/pypi/dm/obscure.svg)
+
+# Obscure
+
+Showing a steadly increasing sequence of integer IDs leaks information
+to customers, competitors, or malicious entities about the number and
+frequency of customers, inventory, or orders. Some example include:
+
+ /customer/123
+ /order/308
+
+From these, I would conclude that I am only your 123rd customer with the
+308th order. How a customer or competitor would feel about this would
+differ. However, the point is do I really want others to know this
+information? In addition, by creating another account or order, I can
+estimate the rate of change within your systems.
+
+This class will help obscure your sequential order by providing a
+reverseable transformation to your numbers. By using different salts
+your transformations will be unique. In addition, the class gives some
+output helpers for hex, base32, and base64. There is one I call 'tame'
+as it removes the letters i and u to elimination some common offensive
+words.
+
+# Install
+
+By far the simplest method is to use pip:
+
+```console
+$ pip install obscure
+```
+
+# Example
+
+```python
+>>> from obscure import Obscure
+>>> customer_id = 123
+>>> num = Obscure(0x1234)
+>>> num.transform(customer_id)
+249699227
+>>> num.transform(249699227)
+123
+>>> num.encode_hex(customer_id)
+'0ee21b9b'
+>>> num.encode_base32(customer_id)
+'B3RBXGY'
+>>> num.decode_base32(num.encode_base32(customer_id))
+123
+>>> num.encode_base64(customer_id)
+'DuIbmw'
+>>> num.encode_tame(customer_id)
+'JB4XFK5'
+>>> num.decode_tame(num.encode_tame(customer_id))
+123
+```
+
+%package -n python3-obscure
+Summary: Stop leaking information by obscuring sequential ID numbers
+Provides: python-obscure
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-pip
+%description -n python3-obscure
+[![build status](https://travis-ci.org/jidn/obscure.svg?branch=master)](https://travis-ci.org/jidn/obscure.svg?branch=masterp)
+![version](http://img.shields.io/pypi/v/obscure.svg)
+![license](http://img.shields.io/pypi/l/obscure.svg)
+![coverage](https://coveralls.io/repos/github/jidn/obscure/badge.svg?branch=master)
+![downloads](http://img.shields.io/pypi/dm/obscure.svg)
+
+# Obscure
+
+Showing a steadly increasing sequence of integer IDs leaks information
+to customers, competitors, or malicious entities about the number and
+frequency of customers, inventory, or orders. Some example include:
+
+ /customer/123
+ /order/308
+
+From these, I would conclude that I am only your 123rd customer with the
+308th order. How a customer or competitor would feel about this would
+differ. However, the point is do I really want others to know this
+information? In addition, by creating another account or order, I can
+estimate the rate of change within your systems.
+
+This class will help obscure your sequential order by providing a
+reverseable transformation to your numbers. By using different salts
+your transformations will be unique. In addition, the class gives some
+output helpers for hex, base32, and base64. There is one I call 'tame'
+as it removes the letters i and u to elimination some common offensive
+words.
+
+# Install
+
+By far the simplest method is to use pip:
+
+```console
+$ pip install obscure
+```
+
+# Example
+
+```python
+>>> from obscure import Obscure
+>>> customer_id = 123
+>>> num = Obscure(0x1234)
+>>> num.transform(customer_id)
+249699227
+>>> num.transform(249699227)
+123
+>>> num.encode_hex(customer_id)
+'0ee21b9b'
+>>> num.encode_base32(customer_id)
+'B3RBXGY'
+>>> num.decode_base32(num.encode_base32(customer_id))
+123
+>>> num.encode_base64(customer_id)
+'DuIbmw'
+>>> num.encode_tame(customer_id)
+'JB4XFK5'
+>>> num.decode_tame(num.encode_tame(customer_id))
+123
+```
+
+%package help
+Summary: Development documents and examples for obscure
+Provides: python3-obscure-doc
+%description help
+[![build status](https://travis-ci.org/jidn/obscure.svg?branch=master)](https://travis-ci.org/jidn/obscure.svg?branch=masterp)
+![version](http://img.shields.io/pypi/v/obscure.svg)
+![license](http://img.shields.io/pypi/l/obscure.svg)
+![coverage](https://coveralls.io/repos/github/jidn/obscure/badge.svg?branch=master)
+![downloads](http://img.shields.io/pypi/dm/obscure.svg)
+
+# Obscure
+
+Showing a steadly increasing sequence of integer IDs leaks information
+to customers, competitors, or malicious entities about the number and
+frequency of customers, inventory, or orders. Some example include:
+
+ /customer/123
+ /order/308
+
+From these, I would conclude that I am only your 123rd customer with the
+308th order. How a customer or competitor would feel about this would
+differ. However, the point is do I really want others to know this
+information? In addition, by creating another account or order, I can
+estimate the rate of change within your systems.
+
+This class will help obscure your sequential order by providing a
+reverseable transformation to your numbers. By using different salts
+your transformations will be unique. In addition, the class gives some
+output helpers for hex, base32, and base64. There is one I call 'tame'
+as it removes the letters i and u to elimination some common offensive
+words.
+
+# Install
+
+By far the simplest method is to use pip:
+
+```console
+$ pip install obscure
+```
+
+# Example
+
+```python
+>>> from obscure import Obscure
+>>> customer_id = 123
+>>> num = Obscure(0x1234)
+>>> num.transform(customer_id)
+249699227
+>>> num.transform(249699227)
+123
+>>> num.encode_hex(customer_id)
+'0ee21b9b'
+>>> num.encode_base32(customer_id)
+'B3RBXGY'
+>>> num.decode_base32(num.encode_base32(customer_id))
+123
+>>> num.encode_base64(customer_id)
+'DuIbmw'
+>>> num.encode_tame(customer_id)
+'JB4XFK5'
+>>> num.decode_tame(num.encode_tame(customer_id))
+123
+```
+
+%prep
+%autosetup -n obscure-1.0.1
+
+%build
+%py3_build
+
+%install
+%py3_install
+install -d -m755 %{buildroot}/%{_pkgdocdir}
+if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi
+if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi
+if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi
+if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi
+pushd %{buildroot}
+if [ -d usr/lib ]; then
+ find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/lib64 ]; then
+ find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/bin ]; then
+ find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+if [ -d usr/sbin ]; then
+ find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst
+fi
+touch doclist.lst
+if [ -d usr/share/man ]; then
+ find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst
+fi
+popd
+mv %{buildroot}/filelist.lst .
+mv %{buildroot}/doclist.lst .
+
+%files -n python3-obscure -f filelist.lst
+%dir %{python3_sitelib}/*
+
+%files help -f doclist.lst
+%{_docdir}/*
+
+%changelog
+* Fri May 05 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.1-1
+- Package Spec generated