diff options
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-obscure.spec | 246 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 248 insertions, 0 deletions
@@ -0,0 +1 @@ +/obscure-1.0.1.tar.gz 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 +[](https://travis-ci.org/jidn/obscure.svg?branch=masterp) + + + + + +# 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 +[](https://travis-ci.org/jidn/obscure.svg?branch=masterp) + + + + + +# 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 +[](https://travis-ci.org/jidn/obscure.svg?branch=masterp) + + + + + +# 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 @@ -0,0 +1 @@ +79626472114a6dff7221baca77f24421 obscure-1.0.1.tar.gz |