diff options
author | CoprDistGit <infra@openeuler.org> | 2023-06-20 06:08:52 +0000 |
---|---|---|
committer | CoprDistGit <infra@openeuler.org> | 2023-06-20 06:08:52 +0000 |
commit | 8d3df403e9ccd61e8aaaf833b74c1ce8fce6267f (patch) | |
tree | df6eea8a8a9efba28f1b6d17a76c84081ba865e4 | |
parent | bc574f41bbd5e1c1ea457ccd22330cd3c3f2b1c1 (diff) |
automatic import of python-pprpopeneuler20.03
-rw-r--r-- | .gitignore | 1 | ||||
-rw-r--r-- | python-pprp.spec | 276 | ||||
-rw-r--r-- | sources | 1 |
3 files changed, 278 insertions, 0 deletions
@@ -0,0 +1 @@ +/pprp-0.2.7.tar.gz diff --git a/python-pprp.spec b/python-pprp.spec new file mode 100644 index 0000000..18a0a5d --- /dev/null +++ b/python-pprp.spec @@ -0,0 +1,276 @@ +%global _empty_manifest_terminate_build 0 +Name: python-pprp +Version: 0.2.7 +Release: 1 +Summary: A pure-Python Rijndael (AES) and PBKDF2 library. Python 2.7 and Python3 compatible. +License: GPL 2 +URL: https://github.com/dsoprea/RijndaelPbkdf +Source0: https://mirrors.aliyun.com/pypi/web/packages/7d/8a/6bcc32e0f6cf0a9e0132230cb41652bd3df3dbdb0e673e31b720b6111deb/pprp-0.2.7.tar.gz +BuildArch: noarch + + +%description +[](https://travis-ci.org/dsoprea/RijndaelPbkdf) + +## Overview + +This package was a remedy to there being no PyPI-published, pure-Python +Rijndael (AES) implementations, and that nothing available, in general, was +compatible with both Python2 *and* Python3. The same is true of the PBKDF2 +key-expansion algorithm. + +The encryptor takes a source generator (which yields individual blocks). There +are source-generators provided for both data from a variable and data from a +file. It is trivial if you'd like to write your own. The encryptor and +decryptor functions are written as generators. Decrypted data has PKCS7 +padding. A utility function is provided to trim this (*trim_pkcs7_padding*). + +The implementation includes Python2 and Python3 implementations of both +Rijndael and PBKDF2, and chooses the version when loaded. + +The default block-size is 128-bits in order to be compatible with AES. + +This project is also referred to as *pprp*, which stands for "Pure Python +Rijndael and PBKDF2". + + +## Installation + +Install via *pip*: + +``` +$ sudo pip install pprp +``` + + +## Example + +Encrypt and decrypt the data, and compare the results. This was copied directly +from the unit-test. + +```python +passphrase = 'password'.encode('ASCII') +salt = 'salt'.encode('ASCII') + +key_size = 32 +data = "this is a test" * 100 +data_bytes = data.encode('ASCII') + +key = pprp.pbkdf2(passphrase, salt, key_size) + +# Create a source from available data. +sg = pprp.data_source_gen(data_bytes) + +# Feed the source into the encryptor. +eg = pprp.rijndael_encrypt_gen(key, sg) + +# Feed the encryptor into the decryptor. +dg = pprp.rijndael_decrypt_gen(key, eg) + +# Sink the output into an IO-stream. +decrypted = pprp.decrypt_sink(dg) + +# self.assertEquals(data_bytes, decrypted) +``` + + +## Notes + +The generators can take a block-size in the event that you don't want the +default. The default block-size can also be changed via the PPRP_BLOCK_SIZE +environment variable. + +%package -n python3-pprp +Summary: A pure-Python Rijndael (AES) and PBKDF2 library. Python 2.7 and Python3 compatible. +Provides: python-pprp +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-pprp +[](https://travis-ci.org/dsoprea/RijndaelPbkdf) + +## Overview + +This package was a remedy to there being no PyPI-published, pure-Python +Rijndael (AES) implementations, and that nothing available, in general, was +compatible with both Python2 *and* Python3. The same is true of the PBKDF2 +key-expansion algorithm. + +The encryptor takes a source generator (which yields individual blocks). There +are source-generators provided for both data from a variable and data from a +file. It is trivial if you'd like to write your own. The encryptor and +decryptor functions are written as generators. Decrypted data has PKCS7 +padding. A utility function is provided to trim this (*trim_pkcs7_padding*). + +The implementation includes Python2 and Python3 implementations of both +Rijndael and PBKDF2, and chooses the version when loaded. + +The default block-size is 128-bits in order to be compatible with AES. + +This project is also referred to as *pprp*, which stands for "Pure Python +Rijndael and PBKDF2". + + +## Installation + +Install via *pip*: + +``` +$ sudo pip install pprp +``` + + +## Example + +Encrypt and decrypt the data, and compare the results. This was copied directly +from the unit-test. + +```python +passphrase = 'password'.encode('ASCII') +salt = 'salt'.encode('ASCII') + +key_size = 32 +data = "this is a test" * 100 +data_bytes = data.encode('ASCII') + +key = pprp.pbkdf2(passphrase, salt, key_size) + +# Create a source from available data. +sg = pprp.data_source_gen(data_bytes) + +# Feed the source into the encryptor. +eg = pprp.rijndael_encrypt_gen(key, sg) + +# Feed the encryptor into the decryptor. +dg = pprp.rijndael_decrypt_gen(key, eg) + +# Sink the output into an IO-stream. +decrypted = pprp.decrypt_sink(dg) + +# self.assertEquals(data_bytes, decrypted) +``` + + +## Notes + +The generators can take a block-size in the event that you don't want the +default. The default block-size can also be changed via the PPRP_BLOCK_SIZE +environment variable. + +%package help +Summary: Development documents and examples for pprp +Provides: python3-pprp-doc +%description help +[](https://travis-ci.org/dsoprea/RijndaelPbkdf) + +## Overview + +This package was a remedy to there being no PyPI-published, pure-Python +Rijndael (AES) implementations, and that nothing available, in general, was +compatible with both Python2 *and* Python3. The same is true of the PBKDF2 +key-expansion algorithm. + +The encryptor takes a source generator (which yields individual blocks). There +are source-generators provided for both data from a variable and data from a +file. It is trivial if you'd like to write your own. The encryptor and +decryptor functions are written as generators. Decrypted data has PKCS7 +padding. A utility function is provided to trim this (*trim_pkcs7_padding*). + +The implementation includes Python2 and Python3 implementations of both +Rijndael and PBKDF2, and chooses the version when loaded. + +The default block-size is 128-bits in order to be compatible with AES. + +This project is also referred to as *pprp*, which stands for "Pure Python +Rijndael and PBKDF2". + + +## Installation + +Install via *pip*: + +``` +$ sudo pip install pprp +``` + + +## Example + +Encrypt and decrypt the data, and compare the results. This was copied directly +from the unit-test. + +```python +passphrase = 'password'.encode('ASCII') +salt = 'salt'.encode('ASCII') + +key_size = 32 +data = "this is a test" * 100 +data_bytes = data.encode('ASCII') + +key = pprp.pbkdf2(passphrase, salt, key_size) + +# Create a source from available data. +sg = pprp.data_source_gen(data_bytes) + +# Feed the source into the encryptor. +eg = pprp.rijndael_encrypt_gen(key, sg) + +# Feed the encryptor into the decryptor. +dg = pprp.rijndael_decrypt_gen(key, eg) + +# Sink the output into an IO-stream. +decrypted = pprp.decrypt_sink(dg) + +# self.assertEquals(data_bytes, decrypted) +``` + + +## Notes + +The generators can take a block-size in the event that you don't want the +default. The default block-size can also be changed via the PPRP_BLOCK_SIZE +environment variable. + +%prep +%autosetup -n pprp-0.2.7 + +%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-pprp -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Tue Jun 20 2023 Python_Bot <Python_Bot@openeuler.org> - 0.2.7-1 +- Package Spec generated @@ -0,0 +1 @@ +bdece6122ca59a74d2cc39ad31ca5c13 pprp-0.2.7.tar.gz |