Random string of digits?

88888 Dihedral dihedral88888 at googlemail.com
Sun Dec 25 14:50:03 EST 2011


Roy Smith於 2011年12月26日星期一UTC+8上午1時41分29秒寫道:
> On Mon, 26 Dec 2011 03:11:56 +1100, Chris Angelico wrote:
> > > I prefer not to rely on the source. That tells me what happens, not
> > > what's guaranteed to happen. 
> 
> Steven D'Aprano <steve+comp.... at pearwood.info> wrote:
> > In this case, the source explicitly tells you that the API includes 
> > support for arbitrary large ranges if you include a getrandbits() method:
> > 
> >      Optionally, implement a getrandbits() method so that randrange()
> >      can cover arbitrarily large ranges.
> > 
> > I call that a pretty strong guarantee.
> 
> I think you mis-understood Chris's point.  The documentation is the 
> specification of how something behaves.  If the documentation doesn't 
> say it, you can't rely on it.  The user should never have to read the 
> source to know how to use a function, or what they can depend on.  Now, 
> I'm not saying that reading the source isn't useful for a deeper 
> understanding, but it should be understood that any insights you glean 
> from doing that are strictly implementation details.
> 
> If you're saying that there are guarantees made by the implementation of 
> getrandbits() which are not documented, then one of two things are true:
> 
> 1) It is intended that users can depend on that behavior, in which case 
> it's a bug in the docs, and the docs should be updated.
> 
> or
> 
> 2) It is not intended that users can depend on that behavior, in which 
> case they would be foolish to do so.

Random bit generations for RSA2048 encoding  and cryptography applications 
in python is simple and elegant.



More information about the Python-list mailing list