CALL US

  +91 8266041801

  +44 203 372 4609

  +1 408 454 6110

  evontech

Get Free Quote

Python 3.6 adds New secrets Module for Robust Account and Password Security

python-ev.png

Python 3.6, the newest major release of the Python language, has added a new module, called secrets, to help generate cryptographically strong random numbers for managing secrets, like account authentication, tokens and related secrets. Python developers are highly likely to prefer secrets over the default pseudo-random number generator in the random module, since it’s not meant for cryptography or security, but modelling and simulation.

Let’s understand with an example how one can create their own cryptographically strong pseudo-random values and generate tokens using the secrets module.

How to create Cryptographically Strong Pseudo-Random Values using secrets

>>> import secrets
>>> import string
>>> characters = string.ascii_letters + string.digits
>>> secure_password = ''.join(secrets.choice(chNo Records.aracters) for i in range(10))
>>> secure_password
'SRvM54ZAs1'

The first step is to import the secrets and the string modules. Then we create a string of uppercase letters and integers. Now, in order to choose characters randomly to generate a secure password, we need to use the secrets module’s choice() method. The reason it’s being called a secure password is because there’s been a use of mixed case, numbers and symbols in the password, which is highly advised to people to keep their passwords protected from hack attacks.

How to Generate Tokens using secrets

There is not one but several methods to generate tokens using the secrets module. Below are mentioned some examples to ease your learning on token generation using secrets.

>>>: secrets.token_bytes()
b'\xd1Od\xe0\xe4\xf8Rn\xf4G\xdb\x08\xa8\x85\xeb\xba>\x8cO\xa7XV\x1cb\xd6\x11\xa0\xcaK'

>>> secrets.token_bytes(8)
b'\xfc,9y\xbe]\x0e\xfb'

>>> secrets.token_hex(16)
'6cf3baf51c12ebfcbe26d08b6bbe1ac0'

>>> secrets.token_urlsafe(16)
'5t_jLGlV8yp2Q5tolvBesQ'

The token_bytes function here allows to return a random byte string containing nbytes number of bytes. A reasonable default could also be put into use when nbytes is None or not supplied. In the first example, there is no mention of number of bytes, hence Python itself choose a reasonable number there. The token-bytes function was used again, but this time with 8 bytes. The next function used was token_hex, to return a random text string, in hexadecimal. The token_urlsafe function is the last one used there, meant to return a random URL-safe text string. Base64 encoding was also used for text.

Click here to unveil 7 Python libraries to use in 2017

How Many Bytes to Use for Tokens?

You should have sufficient randomness for your tokens to secure them against brute-force attacks. It’s advised that at least 32 bytes (256 bits) of randomness should be used to protect tokens from security breaches.

The Python developer community will see the secrets module as an important addition to Python 3.6. With secrets, Python 3.6 developers now have a reliable way to generate cryptographically strong tokens and passwords.

What’s your view on addition of secrets to Python 3.6? Would you like to give the secrets module a try for generating tokens and passwords? Please share your views in the comment box below.

Source 1: http://www.blog.pythonlibrary.org/

Source 2: https://docs.python.org 


Why to Use HTML5 and CSS3 for Your Business?
Why Do Developers Now Compare Vue.js to JavaScript...

Comments

 
No comments yet
Already Registered? Login Here
Guest
Thursday, 28 October 2021
If you'd like to register, please fill in the username, password and name fields.

SEARCH BLOG

development Salesforce CRM offshore software development business offshore software development company outsourcing software C++ application apps web java Cloud computing mobile app development web development Big Data Analytics mobile app development company J2ee cloud custom app development Big Data javascript website project management IT developers IT consulting and software development developer Salesforce customization software development QA Offshore development India NodeJs Salesforce Cloud Services consultant Web app development Salesforce consulting Software development and testing testing Product Development Automation Offshore development programming Android development Salesforce Lightning Progressive Web Apps digital marketing services india iOS apps Social Media Marketing software development outsourcing Salesforce CRM mobile Offshore software development services risk management Salesforce Mobile Development Python enterprise Evon Technologies project management methodology Salesforce cloud Joomla developers QA and Testing EmployeeEngagement business analysts data startups MVP Development Salesforce development consulting language offshore Agile Development digital marketing services data security Agile product Development business management React.js Responsive web design data protection project QA services accessibility task management Project Manager React Native Staff Augmentation salesforce apps time tracking PHP development Web application c++ language Resource Management Popular CMS Big data and lead generation Android app development outsourcing App Development Outsourcing mobile app testing c++ programming applications

About Us

Evon is a Software Consultancy based in India. We are a 250+ people company. We primarily service clients who want to either completely outsource a new idea or are looking to build an offshore team

Certifications

  •   CMMI - Level 3
  •   ISO 27001 : 2013
  •   ISO 9001 : 2015

Recent Tweets

Evon Technologies

Are you looking for a web #development company for your next project? Here are our 8 suggestions to consider before… https://t.co/YMGpNCEoUL

Evon Technologies

Why Choose C++ to build Mobile Apps? Core Advantages of Choosing C++ for Cross-platform #MobileApp #Development , R… https://t.co/qfo27AHBXG

Get in Touch

  +91 8266041801

  +44 203 372 4609

  +1 408 454 6110

  evontech

 This email address is being protected from spambots. You need JavaScript enabled to view it.

   A- 5, IT Park, Dehradun, Uttarakhand, India, PIN - 248001.

follow us on

×
We use cookies on our website to provide you with a more personalised digital experience and for analytics related to our website and other media. For more information, please review our Privacy Policy and Cookies Policy.