<feed xmlns='http://www.w3.org/2005/Atom'>
<title>delta/python-packages/passlib.git/docs/lib, branch scrypt-dev</title>
<subtitle>foss.heptapod.net: python-libs/passlib
</subtitle>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/'/>
<entry>
<title>passlib.handlers.scrypt: created scrypt hash handler, complete with UTs and docs</title>
<updated>2016-06-11T00:21:32+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2016-06-11T00:21:32+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=83280f2468e6119bdeca4cb4a90712496985254d'/>
<id>83280f2468e6119bdeca4cb4a90712496985254d</id>
<content type='text'>
* scrypt kdf code

  - relocated scrypt kdf code to passlib.crypto.scrypt

  - py3 compat fixes

  - split UTs out into separate file

  - removed "non-power of 2" support, not needed.

  - added wrapper which can toggle between builtin backend,
    and extenrnal scrypt package.

  - factored out n/r/p validation code so it can be used independantly
    of calling kdf itself.

* passlib.handlers.scrypt: added scrypt handler which wraps the kdf.

  - added some custom test strings, as well as adapted some reference values
    from the scrypt whitepaper.

  - added documentation page

  - integrated scrypt kdf wrapper w/ hash's HasManyBackends api
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* scrypt kdf code

  - relocated scrypt kdf code to passlib.crypto.scrypt

  - py3 compat fixes

  - split UTs out into separate file

  - removed "non-power of 2" support, not needed.

  - added wrapper which can toggle between builtin backend,
    and extenrnal scrypt package.

  - factored out n/r/p validation code so it can be used independantly
    of calling kdf itself.

* passlib.handlers.scrypt: added scrypt handler which wraps the kdf.

  - added some custom test strings, as well as adapted some reference values
    from the scrypt whitepaper.

  - added documentation page

  - integrated scrypt kdf wrapper w/ hash's HasManyBackends api
</pre>
</div>
</content>
</entry>
<entry>
<title>passlib.utils.handlers / HasRounds: the 'rounds' keyword is now treated</title>
<updated>2016-06-10T21:24:56+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2016-06-10T21:24:56+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=61f94ee0cdf637f69140d75afd8f3e7ae857a700'/>
<id>61f94ee0cdf637f69140d75afd8f3e7ae857a700</id>
<content type='text'>
as a fallback for 'default_rounds', 'min_rounds', and 'max_rounds'.

this makes it easier to specify a django-style policy of "deprecate all hashes
which have a differing rounds value".

* removed special handling from 'rounds' from CryptContext parser
* tweaked affected CryptContext serialization tests
* added test for new behavior
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
as a fallback for 'default_rounds', 'min_rounds', and 'max_rounds'.

this makes it easier to specify a django-style policy of "deprecate all hashes
which have a differing rounds value".

* removed special handling from 'rounds' from CryptContext parser
* tweaked affected CryptContext serialization tests
* added test for new behavior
</pre>
</div>
</content>
</entry>
<entry>
<title>passlib.context: deprecating the 'all' preset scheme --</title>
<updated>2016-06-10T21:00:05+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2016-06-10T21:00:05+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=cc883a81ab27931a05c319a05eac080d6afd9c2d'/>
<id>cc883a81ab27931a05c319a05eac080d6afd9c2d</id>
<content type='text'>
only legitimate use was for 'vary_rounds' option, which is being phased out,
and other uses like 'min_rounds' were a security issue.

* fixed CryptContext() tests to stop uses "all" kwds
* issue dep warning if "all" scheme is used
* issue config warning if anything but "vary_rounds" is used,
  since config needs to be changed (regardless of passlib version)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
only legitimate use was for 'vary_rounds' option, which is being phased out,
and other uses like 'min_rounds' were a security issue.

* fixed CryptContext() tests to stop uses "all" kwds
* issue dep warning if "all" scheme is used
* issue config warning if anything but "vary_rounds" is used,
  since config needs to be changed (regardless of passlib version)
</pre>
</div>
</content>
</entry>
<entry>
<title>deprecating the 'vary_rounds' option -- *very* little security benefit,</title>
<updated>2016-06-10T20:46:32+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2016-06-10T20:46:32+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=e94db1b7b1d2b531f26cc4295e005daa7638b0f3'/>
<id>e94db1b7b1d2b531f26cc4295e005daa7638b0f3</id>
<content type='text'>
and not worth the amount of code it requires to support it.

* stripped out vary_rounds from all internal presets
* added deprecation warning if it's ever used
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
and not worth the amount of code it requires to support it.

* stripped out vary_rounds from all internal presets
* added deprecation warning if it's ever used
</pre>
</div>
</content>
</entry>
<entry>
<title>.encrypt() method renamed to .hash(), other api cleanups</title>
<updated>2016-06-10T16:32:52+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2016-06-10T16:32:52+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=281dacd121d72c7570442a13f2113f63c6c439ba'/>
<id>281dacd121d72c7570442a13f2113f63c6c439ba</id>
<content type='text'>
.encrypt()
----------
hash.encrypt() &amp; context.encrypt() have been renamed to .hash().
this should take care of the long-standing issue 21 (the poor naming of .encrypt).
per docs, legacy aliases will remain in place until passlib 2.0.

.genhash() / .genconfig()
-------------------------
taking advantage of this reorganization to also deprecate .genconfig()
and .genhash() -- they're not really useful in a modern system,
nor as needed for historical support as initially thought:
.genconfig() will be retired completely in passlib 2.0;
.genhash() is rolled into the new .hash() method along with .encrypt().
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
.encrypt()
----------
hash.encrypt() &amp; context.encrypt() have been renamed to .hash().
this should take care of the long-standing issue 21 (the poor naming of .encrypt).
per docs, legacy aliases will remain in place until passlib 2.0.

.genhash() / .genconfig()
-------------------------
taking advantage of this reorganization to also deprecate .genconfig()
and .genhash() -- they're not really useful in a modern system,
nor as needed for historical support as initially thought:
.genconfig() will be retired completely in passlib 2.0;
.genhash() is rolled into the new .hash() method along with .encrypt().
</pre>
</div>
</content>
</entry>
<entry>
<title>passlib.pwd: big cleanup pass, removing code that won't be ready for release</title>
<updated>2016-02-11T20:11:35+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2016-02-11T20:11:35+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=74894c9ebe1994823edd210262e6fc9b729e18f8'/>
<id>74894c9ebe1994823edd210262e6fc9b729e18f8</id>
<content type='text'>
* split generate() into genword() &amp; genphrase() --
  APIs are just too different to keep combined.

* renamed internal calc funcs to better reflect their purpose.

* commented out PhraseGenerator's min_chars code, can't confirm
  it's doing correct thing.

* commented out password strength estimator, too half-baked.

* tried to simplify SequenceGenerator attributes.

* genword(): defined some base charsets to work with

* genphrase(): wordsets now stored uncompressed (not really that big,
  and .whl will compress everything for transport).

* fleshed out UTs for genword() &amp; genphrase()

* updated docs
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* split generate() into genword() &amp; genphrase() --
  APIs are just too different to keep combined.

* renamed internal calc funcs to better reflect their purpose.

* commented out PhraseGenerator's min_chars code, can't confirm
  it's doing correct thing.

* commented out password strength estimator, too half-baked.

* tried to simplify SequenceGenerator attributes.

* genword(): defined some base charsets to work with

* genphrase(): wordsets now stored uncompressed (not really that big,
  and .whl will compress everything for transport).

* fleshed out UTs for genword() &amp; genphrase()

* updated docs
</pre>
</div>
</content>
</entry>
<entry>
<title>added reference for cisco_asa algorithm</title>
<updated>2016-02-10T19:29:18+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2016-02-10T19:29:18+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=774037a9e9b2d6fb5c3fd533e25ca1d29585962f'/>
<id>774037a9e9b2d6fb5c3fd533e25ca1d29585962f</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>relocated many of the crypto routes inside passlib.utils,</title>
<updated>2016-02-10T19:27:53+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2016-02-10T19:27:53+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=7b598fe89d604ef91efd4f71253ffb9ab0aae7c5'/>
<id>7b598fe89d604ef91efd4f71253ffb9ab0aae7c5</id>
<content type='text'>
and moved them to a separate passlib.crypto subpackage.

along with this move, made a few api cleanups:

* unified all code that's looking up hashes
  to use new passlib.crypto.lookup_hash() wrapper, which takes
  care of hash name normalization, loading fallback implementations,
  and alg metadata inspection, all hidden behind a memoized function.

* deprecated pbkdf2() in favor of pbkdf2_hmac() -- only real use,
  and new signature matches stdlib function.  additionally,
  this version is a bit faster, due to some assumptions that
  can be made due to the PRF always being HMAC based.

* added compile_hmac() helper which does an even more efficient
  job of pre-compiling a keyed HMAC function; this helped speed up pbkdf2 a bit more.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
and moved them to a separate passlib.crypto subpackage.

along with this move, made a few api cleanups:

* unified all code that's looking up hashes
  to use new passlib.crypto.lookup_hash() wrapper, which takes
  care of hash name normalization, loading fallback implementations,
  and alg metadata inspection, all hidden behind a memoized function.

* deprecated pbkdf2() in favor of pbkdf2_hmac() -- only real use,
  and new signature matches stdlib function.  additionally,
  this version is a bit faster, due to some assumptions that
  can be made due to the PRF always being HMAC based.

* added compile_hmac() helper which does an even more efficient
  job of pre-compiling a keyed HMAC function; this helped speed up pbkdf2 a bit more.
</pre>
</div>
</content>
</entry>
<entry>
<title>passlib.ext.django: dropped support for django 1.6-1.7, per passlib 1.6.6 announcement</title>
<updated>2016-02-09T17:07:46+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2016-02-09T17:07:46+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=fe6270ef83e447a9bf1c2fccb8e72342d12b783c'/>
<id>fe6270ef83e447a9bf1c2fccb8e72342d12b783c</id>
<content type='text'>
motivation is that django hashers framework has matured greatly
as of django 1.8, and dropping all prior versions not only eases support burden,
but opens up opportunity for integration via less invasive method in a
future passlib release, using django 1.8 as a common base.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
motivation is that django hashers framework has matured greatly
as of django 1.8, and dropping all prior versions not only eases support burden,
but opens up opportunity for integration via less invasive method in a
future passlib release, using django 1.8 as a common base.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge with stable</title>
<updated>2016-02-09T16:39:09+00:00</updated>
<author>
<name>Eli Collins</name>
<email>elic@assurancetechnologies.com</email>
</author>
<published>2016-02-09T16:39:09+00:00</published>
<link rel='alternate' type='text/html' href='http://91.123.203.49/cgit/delta/python-packages/passlib.git/commit/?id=79441fd7909b3d158e6432a28791c6689e00a43a'/>
<id>79441fd7909b3d158e6432a28791c6689e00a43a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
